В рельсах можно получить цветную подсветку для команды rake test? - PullRequest
8 голосов
/ 22 октября 2010

При запуске команды rake test с терминала в каталоге проекта rails 3, результат теста не окрашивается. Следовательно, это нельзя интерпретировать с первого взгляда.

Есть ли способ получить цветной результат для результатов, который вы можете получить в rspec?

>rspec --colour

Ответы [ 3 ]

21 голосов
/ 09 июня 2011

Я обнаружил, что redgreen был заброшен много лет назад, и нашел это решение, которое работает хорошо и не требует взлома скриптов. Вывод, однако, показывает, какой тест выполняется в режиме реального времени. Так что это намного дольше, чем встроенный тестовый вывод. У него хорошие цвета.

http://rubygems.org/gems/turn

В моем Gemfile:

group :test do
  gem 'turn'
end

Затем запустите:

$ bundle install
$ rake test

Драгоценный камень "Поворот" прекрасно работает. Предостережение заключается в том, что он не работает с Mocha из-за проблем с исправлениями обезьян. Если вы используете мокко, вы можете использовать красно-зеленый драгоценный камень. См. Инструкции выше в утвержденном ответе на этот вопрос.

11 голосов
/ 22 октября 2010

Да, вы можете использовать красно-зеленый драгоценный камень. Включите его в свой гемфайл:

group :development, :test do
  gem 'redgreen'
end

И это все, что вам нужно для ruby ​​1.8. Если вы используете 1.9, есть обходной путь. добавьте гем тестового блока:

group :development, :test do
  gem 'redgreen'
  gem 'test-unit', '1.2.3
end

Это не идеально с 1.9 - кажется, что test-unit запускает пустой набор тестов после каждой рейковой задачи или вызова генератора, что безопасно, но раздражает.

1 голос
/ 04 января 2019

Я работаю над рельсами 5.1.6 и для создания цветовой отчетности я также искал решение Ни одно из этих решений не работает, поэтому я гуглил и видел это решение. Просто добавьте следующее в мой файл test / test_helper.rb

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

Публикация может быть кому-то поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...