Как окрасить модульные тесты с помощью lib minitest или Test: Unit?
Я бы хотел, чтобы в тестовом окружении был установлен выходной цвет. Однако я не могу заставить его работать на Linux (Debian и Ubuntu). Когда я включаю следующие библиотеки:
require 'minitest/autorun'
require 'minitest/unit'
require 'minitest/pride'
Я получаю:
/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)
вызванный кодом:
MiniTest::Unit.output = PrideIO.new(MiniTest::Unit.output)
Я видел рабочий вариант
Ответы
Ответ 1
шаг 1: используйте последнюю версию драгоценного камня (я думаю, что он будет исправлен в Ruby 1.9.3)
gem install minitest
Шаг 2: требуется "minitest/pride" в командной строке, а не в вашем коде
ruby -rminitest/pride your_ruby_script.rb
.. и в вашем коде просто требуется "minitest/autorun"
require 'minitest/autorun'
Если вы используете Rubymine, просто добавьте
-rminitest
в конфигурации по умолчанию для тестов.
= > конфигурация хотела бы
-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) -rminitest/pride
Ответ 2
Дайте turn вихрь.
Добавьте это в свой Gemfile:
group :test do
gem 'turn', :require => false
end
Ответ 3
См. https://github.com/tenderlove/purdytest/issues/1. Кажется, это известная ошибка с мини-версией, поставляемой с 1.9.2. Для остальных добавьте
gem "minitest"
в самом верху вашего файла сделал трюк.
Ответ 4
просто добавьте эти строки в файл test_helper.rb после запроса "rails/test_help"
require "minitest/reporters"
Minitest::Reporters.use!
в вашем gemfile добавить
gem 'minitest-reporters', '~> 1.0.7'
это приведет к тому, что ваш тест рейка будет красным и зеленым, но он также поднимет обратную трассировку. чтобы избавиться от всех этих дополнительных журналов backtrace, добавьте это в свой gemfile, а затем bundle:
gem 'mini_backtrace'
то в config/initializers/backtrace_silencers.rb добавьте эту строку, чтобы вырезать все лишние вещи rvm.
Rails.backtrace_cleaner.add_silencer { |line| line =~ /rvm/ }
Надеюсь, что это сработает для вас, сообщите мне, если вам нужна дополнительная информация.
Ответ 5
В настоящее время я использую purdytest
с 1.9.2
Ответ 6
Попытайтесь посмотреть этот пост об использовании градиента поворота для приятного поиска и настраиваемого вывода для минитеста.
http://rawonrails.blogspot.com/2012/01/better-minitest-output-with-turn-gem.html
Ответ 7
$ gem install mynyml-redgreen --source http://gemcutter.org
# in your test file
require 'redgreen'
redgreen и работать хорошо в сочетании друг с другом, кстати