Можно ли улучшить задачу теста граблей и объединить результаты теста?
Я пишу тесты для своих сотрудников sidekiq и хочу, чтобы они запускались, когда я набираю "rake" в терминале. У меня это работает - я добавил следующее в мой Rakefile:
namespace :test do
Rake::TestTask.new(:workers) do |t|
t.libs << "test"
t.pattern = 'test/workers/**/*_test.rb'
end
end
Rake::Task[:test].enhance ["test:workers"]
Когда я запускаю rake, я получаю что-то вроде этого:
Run options: --seed 51172
# Running tests:
SS
Finished tests in 0.005594s, 357.5259 tests/s, 0.0000 assertions/s.
2 tests, 0 assertions, 0 failures, 0 errors, 2 skips
Run options: --seed 17561
# Running tests:
S............................................SSSS..SSSSS......
Finished tests in 2.037526s, 30.4291 tests/s, 45.6436 assertions/s.
62 tests, 93 assertions, 0 failures, 0 errors, 10 skips
Символы S - пропуски - я еще не закончил все свои тесты. Таким образом, мой вопрос в основном - есть ли способ объединить два набора тестов после улучшения? Должен ли я делать что-то другое, чем улучшение?
Если я делаю что-то явно не так, пожалуйста, дайте мне знать, и спасибо, что прочитали это. И на всякий случай: Rails 4 с Ruby 2.0
2 ответа
Попробуйте это, измените следующее:
Rake::TestTask.new(:workers) do |t|
к этому:
Rails::TestTask.new(:workers) do |t|
Это небольшое изменение, но исправляет проблему для меня. Это означает, что весь ваш набор тестов будет работать с объединенным выводом.
Для этого есть простой обходной путь:
bundle exec rake test:all
если вы хотите посмотреть, как создаются задачи, смотрите здесь