Подтвердить что ты не робот

Как окрасить модульные тесты с помощью 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)

Я видел рабочий вариант

4b9b3361

Ответ 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

Ответ 7

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

# in your test file
require 'redgreen'

redgreen и работать хорошо в сочетании друг с другом, кстати