Сторож-минитест + пружина не работает как положено

У меня есть проект rails 4.0.2, и я использую guard 4.7.5, guard-minitest 2.2.0 и spring 1.1.0.

Когда мой Guardfile читает:

guard :minitest, spring: true do
  …
end

Я получаю информацию об использовании весны, когда бегу на страже

Согласно README, если мой Guardfile гласит:

guard :minitest, spring: 'rake test' do
  …
end

он запускает все стандартные тесты (см. rake -T).

На самом деле, когда работает rake test само по себе не имеет значения, что я наберу после этого, он всегда запускает тесты по умолчанию. Бег bundle exec rake test [whatever] дает те же результаты.

Что мне не хватает?

3 ответа

guard :minitest, spring: 'rake test' do
  …
end

Работает на моей установке (то есть, он запускает только правильные тесты), хотя он не показывает подробную статистику в уведомителе (просто проход / не проход).

У вас есть нужные наблюдатели в вашем блоке do? Я в основном использую то, что guard init дал мне, но я раскомментировал наблюдателей под Rails 4, комментируя остальные. Мой полный minitest сделать блок:

guard :minitest, spring: 'rake test' do

   #Rails 4
   watch(%r{^app/(.+)\.rb$})                               { |m| "test/#{m[1]}_test.rb" }
   watch(%r{^app/controllers/application_controller\.rb$}) { 'test/controllers' }
   watch(%r{^app/controllers/(.+)_controller\.rb$})        { |m| "test/integration/#{m[1]}_test.rb" }
   watch(%r{^app/views/(.+)_mailer/.+})                   { |m| "test/mailers/#{m[1]}_mailer_test.rb" }
   watch(%r{^lib/(.+)\.rb$})                               { |m| "test/lib/#{m[1]}_test.rb" }
   watch(%r{^test/.+_test\.rb$})
   watch(%r{^test/test_helper\.rb$}) { 'test' }

end

Я использую:

  • ruby 2.0.0p451 (редакция 2014-02-24 45167) [x86_64-linux]
  • охранник-MiniTest-2.2.0
  • Guard версии 2.6.0
  • Весенняя версия 1.1.2
  • Rails 4.1.0
  • Minitest-5.5.5

Можете ли вы запустить тест бен \ грабли весной?

Если нет, то это ваша проблема, так как "spring: true" запускает bin\rake.

Начиная с Rails 4.1.6, это работает из коробки. Я только добавил spring: true к моему Guardfile и это сработало. Правильные тесты запускаются, когда файл изменяется, и кажется, что он запускается быстрее, чем без Spring.

Мои настройки: Ruby 2.1, Rails 4.1.6, Guard 2.6.0, guard-minitest 2.3.2, Spring 1.1.3, minitest 5.4.2.

Другие вопросы по тегам