2011-07-07 25 views
14

Tôi muốn có màu đầu ra kiểm tra đơn vị trong môi trường dev của tôi. Tuy nhiên, tôi không thể làm cho nó hoạt động trên Linux (Debian và Ubuntu). Khi tôi bao gồm các libs sau:Làm cách nào để tô màu các thử nghiệm đơn vị với lib minitest hoặc Test: Unit?

require 'minitest/autorun' 
require 'minitest/unit' 
require 'minitest/pride' 

tôi nhận được:

/usr/local/rvm/gems/ruby-1.9.2-p136/gems/minitest-2.3.1/lib/minitest/pride.rb:35:in `<top (required)>': undefined method `output' for MiniTest::Unit:Class (NoMethodError) 

do mã:

MiniTest::Unit.output = PrideIO.new(MiniTest::Unit.output) 

Tôi đã thấy một Rspec variant làm việc. Thật không may, kiến ​​thức Ruby của tôi là không đủ để thấy sự khác biệt.

Trả lời

13

bước 1: sử dụng phiên bản mới nhất của đá quý (Tôi nghĩ rằng nó sẽ được cố định trong Ruby 1.9.3)

gem install minitest 

bước 2: yêu cầu "minitest/niềm tự hào" trên dòng lệnh, không phải trong mã của bạn

ruby -rminitest/pride your_ruby_script.rb 

.. và trong mã của bạn chỉ đơn giản là require 'minitest/autorun'

require 'minitest/autorun' 

Nếu bạn sử dụng Rubymin e, chỉ cần thêm

-rminitest 

trong cấu hình mặc định của thử nghiệm. => cấu hình muốn

-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) -rminitest/pride 
+0

Cảm ơn. Yêu cầu niềm tự hào trong mã của tôi hơn là trong dòng lệnh làm việc tốt mặc dù. – Mosselman

1

Tôi hiện đang sử dụng purdytest với 1.9.2

14

Cho turn một whirl.

Thêm phần này vào Gemfile của bạn:

group :test do 
    gem 'turn', :require => false 
end 
+0

Cần được đề cập, tại thời điểm này, lần lượt là * không * tương thích với phiên bản MiniTest 5 trở lên. –

+0

Bạn nói đúng, Matt. Hỗ trợ MiniTest v5 đang được theo dõi tại đây: https://github.com/turn-project/turn/issues/127 –

+1

Đối với MiniTest 5+, chỉ 'minitest-rg' đã làm cho tôi. – Abdo

-1
$ gem install mynyml-redgreen --source http://gemcutter.org 

# in your test file 
require 'redgreen' 

redgreen và biến công việc độc đáo kết hợp với nhau, bằng cách này

3

chỉ cần thêm những dòng sau vào tệp test_helper.rb của bạn sau khi require 'đường ray/test_help'

require "minitest/reporters" 
Minitest::Reporters.use! 

trong gemfile bạn thêm

gem 'minitest-reporters', '~> 1.0.7' 

này sẽ nhận được thử nghiệm cào của bạn sẽ được ở màu đỏ và màu xanh lá cây, nhưng nó cũng mang lại backtrace.để thoát khỏi tất cả những bản ghi lùi thêm thêm video này vào gemfile của bạn sau đó bó:

gem 'mini_backtrace' 

sau đó trong config/initializers/backtrace_silencers.rb thêm dòng này để cắt giảm tất cả những thứ RVM thêm

Rails.backtrace_cleaner.add_silencer { |line| line =~ /rvm/ } 

hy vọng rằng các công trình cho bạn, cho tôi biết nếu bạn cần biết thêm chi tiết.

Các vấn đề liên quan