CruiseControlを使用してCIループを実行しており、1,000を超えるFitNesse/FitLibraryテストがあります。控えめに言っても、しばらく時間がかかります。一部のテストは順次実行する必要がありますが、一部は並行して実行できます(ほとんどのテスト)。CruiseControlを使用して複雑なFitNessCI環境を構成した経験のある人はいますか?どのように?または、言い換えると、この点で(FitNesseを使用して)どのテスト自動化制御サーバーが優れているのでしょうか。ありがとう!
1 に答える
FitNesseサーバーを並行して実行する秘訣は、ほとんどの場合、実行ごとにすべてのポートを分離しておくことです。したがって、各FitNesseサーバーは異なる-p引数で起動する必要があります。FitLibraryの部分に関しては、FitLibraryフィクスチャがポートを介して通信するものをスピンアップする場合は、それらが異なるものを使用していることを確認してください。SliMを使用している場合は、少なくとももう1つのポート(SLIM_PORT)があり、並列スレッドごとに異なる敵を作成する必要があります。
注意が必要なもう1つのことは、同じソースディレクトリからすべてのテストを起動することです。FitNesse自体に問題はないはずですが、フィクスチャが物理ファイルを処理する必要がある場合は、問題が発生することがあります。また、あるジョブがGit / CVSでsvn更新または同様の操作を開始するときに別のジョブがテストしている場合、フォルダーを更新するときに競合が発生する可能性があります。
私が知っている他の唯一の落とし穴は、テストしている他のライブラリまたはシステムが、同時に実行されている複数のインスタンスで問題が発生する可能性があるかどうかです。
Hudson/Jenkinsの下で常に複数の実行スレッドを実行しています。各ジョブは個別の実行スレッドで実行されます。通常、データベースと相互作用するテストが競合しないことを確認するために、別のテストシステムを使用します。
CruiseControlが複数のビルドを並行して実行できる場合は、おそらく複数のテストも実行できます。