多くの場合、個別に合格してもスイートの一部として実行すると失敗する Fitnesse テストがあります (またはその逆)。
これは、各テスト間でセットアップの一部が残っているためです。テストが両方の場合で同じように動作することが保証されるように、すべてのテストを実行する前に、Fitnesse に新しいスレッド/プロセス/何でも使用するように指示する方法はありますか?
現時点では、継続的インテグレーション サーバーでスイートの結果を使用しています。これは、個別に失敗するテストがリリースに到達できることを意味します。これは私たちを緊張させています!
以下の例では、AlarmDefintionSet は AlarmDefinition の親オブジェクトです。AlarmDefinitionSetSetUpFixture は AlarmDefinitionSet を作成し、メモリに保存します。AlarmDefinitionFixture がメモリ内の親であることを検出し (ID による場合もありますが、以下の例ではデフォルトのものを使用しています)、これをプロパティとして設定し、Code、InitialWTGStopped、および RunAlarm プロパティを設定します。次に、Valid メソッドと ValidationMessage メソッドをテストとして呼び出します。
このテストは、スイートの一部として、または単独で実行すると正常に機能します。ただし、AlarmDefinitionSetSetUpFixture を削除すると、適切な親を見つけることができないため、単独で実行すると失敗します。ただし、それがスイートの一部として実行され、以前のテストに AlarmDefinitionSetSetUpFixture が含まれていた場合は、パスします。これはやや単純化されたものですが、関連するポイントを示しています。Fitnesse の "[SuiteName].SetUpFixture" ファイルを使用して、メモリからすべてをクリアするメソッドを呼び出すことができます。このようなファイルをすべてのスイートに追加し、それが呼び出すメソッドがメモリからすべてを正しく削除するようにするのは大変な作業です。
この例のフィクスチャはすべて fit.ColumnFixture のものです。
ありがとう ...