У меня проблемы с запуском Guard в моем проекте Rails 3.2. Моя тестовая папка выглядит как тестовая структура рельсов по умолчанию:
▾ test/
▾ fixtures/
customers.yml
▾ functional/
▾ integration/
▾ performance/
browsing_test.rb
▾ unit/
customer_test.rb
test_helper.rb
и мой Guardfile выглядит так:
guard 'minitest' do
# with Minitest::Unit
watch(%r|^test/(.*)\/?test_(.*)\.rb|)
watch(%r|^lib/(.*)([^/]+)\.rb|) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
watch(%r|^test/test_helper\.rb|) { "test" }
# with Minitest::Spec
watch(%r|^spec/(.*)_spec\.rb|)
watch(%r|^lib/(.*)([^/]+)\.rb|) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r|^spec/spec_helper\.rb|) { "spec" }
# Rails 3.2
watch(%r|^app/controllers/(.*)\.rb|) { |m| "test/controllers/#{m[1]}_test.rb" }
watch(%r|^app/helpers/(.*)\.rb|) { |m| "test/helpers/#{m[1]}_test.rb" }
watch(%r|^app/models/(.*)\.rb|) { |m| "test/unit/#{m[1]}_test.rb" }
# Rails
# watch(%r|^app/controllers/(.*)\.rb|) { |m| "test/functional/#{m[1]}_test.rb" }
# watch(%r|^app/helpers/(.*)\.rb|) { |m| "test/helpers/#{m[1]}_test.rb" }
# watch(%r|^app/models/(.*)\.rb|) { |m| "test/unit/#{m[1]}_test.rb" }
end
но при запуске Guard он просто говорит, что наблюдает, но на самом деле не запускает ни один из тестов в customer_test.rb, даже когда я явно прошу его запустить мини-тесты. Если я запускаю тесты из командной строки с помощью ruby -Itest test/unit/customer_test.rb
, они работают, как и ожидалось. Я знаю, что делаю что-то не так в конфигурации Guardfile, но что именно?