Можно ли улучшить задачу теста граблей и объединить результаты теста?

Я пишу тесты для своих сотрудников 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

если вы хотите посмотреть, как создаются задачи, смотрите здесь

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