Как раскрасить юнит-тесты с помощью lib minitest или Test: Unit? - PullRequest
14 голосов
/ 07 июля 2011

Я хотел бы, чтобы модульные тесты выводили цвет в моей среде разработки.Однако я не могу заставить его работать на 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)

Я видел работающий Вариант Rspec .К сожалению, моих знаний по Ruby недостаточно, чтобы увидеть различия.

Ответы [ 7 ]

14 голосов
/ 04 октября 2011

Дай Поворот Вихрь.

Добавьте это в свой Gemfile:

group :test do
  gem 'turn', :require => false
end
13 голосов
/ 23 июля 2011

шаг 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
3 голосов
/ 16 ноября 2014

просто добавьте эти строки в файл test_helper.rb после того, как требуется 'rails / test_help'

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

в вашем gemfile добавить

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

при этом ваш рейк-тест будет красным и зеленым, но также будет отображаться обратный ход. чтобы избавиться от всех этих дополнительных журналов обратной трассировки, добавьте это в ваш gemfile, а затем в комплект:

gem 'mini_backtrace'

затем в config / initializers / backtrace_silencers.rb добавьте эту строку, чтобы вырезать все лишние элементы rvm

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

надеюсь, что это работает для вас, дайте мне знать, если вам нужно больше деталей.

3 голосов
/ 07 июля 2011

См. https://github.com/tenderlove/purdytest/issues/1. Кажется, это известная ошибка в самой минимальной версии, поставляемой с 1.9.2.Для остальных добавление

gem "minitest"

в самый верх вашего файла помогло.

1 голос
/ 06 сентября 2011

Я сейчас использую purdytest с 1.9.2

0 голосов
/ 12 января 2012

Попробуйте посмотреть в этом посте об использовании Turn Gem для красивого и настраиваемого вывода для Minitest. http://rawonrails.blogspot.com/2012/01/better-minitest-output-with-turn-gem.html

0 голосов
/ 07 октября 2011
$ gem install mynyml-redgreen --source http://gemcutter.org

# in your test file
require 'redgreen'

Красновато-зелёный и прекрасно работают вместе, кстати

...