独立性と堅牢性を確保するために、RSpec スイートをランダムな順序で実行しています。ただし、スペックを順番に実行したい場合がいくつかあります。コマンドラインでしか使えない--order default
のはわかっていますが、これをCIに統合したいです。CI には TDDium を使用しており、CI サーバーでランダムに実行し続けたいと考えていますが、特定の仕様ファイルが順番に実行されるようにします。
質問
ファイルごとに、RSpec がそのファイルをデフォルトの順序で実行するように指定する方法はありますか? rspec-core にマージされたカスタマイズされた順序付け戦略のサポートがあるようですが、それは完全に焼き付けられているようには見えません (そして、それがサポートされているかどうかはわかりませんbefore :all
)。 .
討論
そして、 「仕様は独立している必要がある」という理由で反対票を投じた別の質問があるので、「それをすべきではない」という議論を先制的に回避しようとする私のユースケースを述べさせてください。
システム状態のさまざまな側面が時間とともに変化する複雑なモデルがあります。時間の経過に伴うさまざまな状態の変化を追跡するために、そのシステムを監視している分析システムがあります。Timecop gemのおかげで、過去にさかのぼって一連の相互作用モデルを作成し、その後、たとえば 5 日間、分析システムから見たシステムを、既知の条件の下で毎日見ることができます。具体的には、システムに組み込まれている仮定を考慮して、一部の計算が正しいことを確認します。
ここで、5 つの個別の記述ブロックを作成し、それぞれが履歴の 5 日間のそれぞれについて個別の条件を設定するプロセスを実行できることを理解しましたが、時間をステップスルーして条件の変化を観察しながら観察する方がはるかに理にかなっています。その状態で。より効率的で、システムで実際に起こっていることとよりつながります。あちこちでさまざまな応答をモックできることは理解しており、それを行っていますが、基本システムと分析システムの間の「リアルタイム」相互作用をステップスルーすることに興味があります。