2017-03-08 17 views
1

Rspecは、 場所focus: trueに便利な機能を提供し、それを単独で実行させるテストによって提供します。そして $bundle exec rspec specを実行すると、ただし、この機能は真Rspecと共にZeus Parallel Specを使用すると、単一のテストを実行できません。フォーカス:trueは機能しません

を作るために働き、一人でパラレル仕様の利用 $rake parallel:spec

やゼウスと:$zeus rake parallel:spec

は、以下の

にすべての、結果では動作しません。 ignoring {:focus => true}

なぜですか?私はそれが無視されることを望んでいない!

パラレル仕様の使用中に単一のテストを実行する方法や単一のファイルを実行する方法はありませんか?それをセットアップしようとすると、並列処理に関連するエラーをデバッグすることができますが、テストスイート全体を実行して修正プログラムをテストする必要はありません。

も動作するように失敗した $zeus rake parallel:spec spec/features/testing_questionnaire_submission_spec.rb

としてその後、ファイルの場所を指定します。

答えて

1

これは良い質問ですが、自分の設定でparallel_testsと同じ問題があります。 parallel_testsはファイルを別々のスレッドに分割するので、とにかく単一のファイルマルチスレッドを実行することは何のメリットもありません。

あなたが実行するときには、これを見ることができます:

parallel_rspec spec/models/some_test.rb 

それは1 processes for 1 specs, ~ 1 specs per processを言うだろう。したがって

、あなたは、some_test.rbで単一スペックを実行することitまたはspecifyブロックのため:focusを使用して、実行し、

rspec spec/models/some_test.rb 
or 
parallel_rspec spec/models/some_test.rb 

したい場合、それは問題ではありません。 1つのスペックファイルを実行したい場合は、同じコマンドを使用します(:focus)。

修正が必要な問題は、parallel_rspecが実行され、テストのどこかに:focusがある場合、その1つの仕様を実行するだけです。代わりに、:focusを含むスレッドを除くすべてのスレッドですべての仕様を実行するように見えます。このスレッドでは、そのスレッドでその1つのテストのみが実行されます。

そして、あなたはここで見ることができ、私はこの問題が修正を取得しようとしていることとは思わない:あなたは答えを提供https://github.com/grosser/parallel_tests/issues/114

+0

ブーム。私はいつもparallelを使ってテストを実行しました:sp​​ecとparallel_rspecではなく、なぜライン構文がうまくいかないのかもしれません。どのようなものをいつ使うべきかを知っていますか?私がparallel_rspecを使って単一のテストを実行できるようにしたいのは、parallel_tests(twitter/bootstrapをロードしていない...)だけでエラーが発生しているからです。 1回のテストしか実行できないということは、新しい修正の試行の間に6分待つ必要がないことを意味します。 –

関連する問題