1

我有一堆文件test/policies,我试图rake test像这样增强:

# lib/tasks/test.rake
namespace :test do
  desc "Test Pundit policies"
  Rake::TestTask.new(:policies) do |t|
    t.libs << 'test'
    t.pattern = 'test/policies/*_test.rb'
  end 
end

Rake::Task["test"].enhance do
  Rake::Task["test:policies"].invoke
end

如果我运行它会很好bin/rake test:all bin/rake test现在只运行策略测试,而我的其他人都不运行。

谁能告诉我在这里做错了什么?如果不清楚,我想像rake test以前一样运行我的所有测试。

更新

实际上,它现在有点工作,但我注意到我的功能、单元和集成测试现在确实可以运行,但前提是策略测试全部通过。如果任何策略测试失败,那么我的测试套件的其余部分将无法运行。

而且我不喜欢输出,请注意下面有两个测试输出块:

[vagrant@vagrant-centos-6-4 vagrant]$ bin/rake test
Run options: --seed 54880

# Running:

.........................

Finished in 0.584530s, 42.7694 runs/s, 56.4556 assertions/s.


25 runs, 33 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 19900

# Running:

.........................................................

Finished in 4.132299s, 51.0612 runs/s, 128.9839 assertions/s.

如果策略测试输出合并到与我的其他测试相同的输出块中,我更愿意。有什么想法,或者这和它会得到的一样好?

4

1 回答 1

2

其他人问了同样的问题,我为他们回答了。我的解决方案是更改我的代码:

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

至:

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

它只是工作,并解决了我遇到的所有问题。

于 2014-08-07T08:19:04.787 回答