是否可以增强rake测试任务并将测试结果合并在一起?

我正在为我的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 w / Ruby 2.0

试试这个,更改以下内容:

 Rake::TestTask.new(:workers) do |t| 

对此:

 Rails::TestTask.new(:workers) do |t| 

这是一个小小的改变,但为我解决了这个问题。 这意味着您的整个测试套件将使用合并输出运行。

有一个简单的解决方法:

 bundle exec rake test:all 

如果你想看看如何创建rails任务,请看这里