テストスイート全体を実行するときに特定の順序で実行したい RSpecRake タスクがたくさんあります。
私はこのようなことを試しました:
task :run_in_order => [:one, :two, :three] do
puts "Run suite of tests"
end
そして、最初のテストを実行してから停止し、残りのタスクを実行しません。
したがって、Rake構文を使用している場合は機能しません。 RSpec Rakeタスクのタスクの依存関係を記録する方法はありますか?
これをチェックしてください http://blog.davidchelimsky.net/2012/01/04/rspec-28-is-released/
–order Rand--orderオプションを追加しました。サポートされている値はRandとdefaultの2つです。
rspec --order random(またはRand)は、グループをランダムな順序で実行し、次に各グループ内の例をランダムな順序で実行するようにRSpecに指示します。高価なbefore(:all)フックを再実行したくないため、(すべての例を完全にランダム化するのではなく)この方法で実装しました。結果として生じるランダム化は、順序依存のバグを明らかにするのと同じくらい効果的であるため、公正なトレードオフがあります。
--order randomを使用すると、RSpecはランダマイザーのシードに使用した乱数を出力します。順序依存のバグを見つけたと思われる場合は、シードを渡すことができ、順序は一貫したままになります。
--order Rand:3455 --order defaultは、各ファイルで宣言されているグループと例をロードするようにRSpecに指示します
基本的に、スペックファイルでテストを注文してから、--order default
オプションを指定して実行する必要があります。 。