1

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 文字はスキップです。まだすべてのテストを終了していません。だから私の質問は基本的にです - 強化後に2セットのテストをマージする方法はありますか? エンハンスとは違うことをするべきですか?

私が明らかに間違ったことをしている場合は、お知らせください。これを読んでくれてありがとう。必要な場合に備えて: Rails 4 w/ Ruby 2.0

4

2 に答える 2

1

これを試して、次を変更します。

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

これに:

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

これは小さな変更ですが、私にとっては問題を解決します。これは、テスト スイート全体がマージされた出力で実行されることを意味します。

于 2014-08-07T08:15:13.153 に答える
0

これには簡単な回避策があります。

bundle exec rake test:all

Railsタスクがどのように作成されるかを確認したい場合は、こちらをご覧ください

于 2014-06-14T17:56:33.247 に答える