1

私のテスト ソリューションには、最初に実行する必要があるテストがいくつかあります。そうしないと、後のテストが失敗します。これらが最初に特定の順序で実行されるようにする方法が必要です。.orderedtest ファイルを使用する以外にこれを行う方法はありますか? .orderedtest に関するいくつかの問題:

  • 「セットアップ」テストが終了した後、特定のテストをランダムな順序で実行する必要があります
  • 順序付きテストが ClassInitialize メソッドを呼び出していないようです
  • 順序付きテストは、VS/TFS 2012 で廃止されたフォームまたはテスト リストではありませんか?
4

1 に答える 1

3

私のアドバイスは、テストを修正して依存関係を削除することです(つまり、適切な「単体」テストを作成します)。そうしないと、後で問題が発生する可能性があります。たとえば、次のようになります。

  • 単純な失敗が連鎖的に発生するため、何百ものテストが失敗し、根本原因を見つけるのが難しくなります
  • 誰かが不注意に実行順序を変更したために予期せず失敗した
  • 初期状態が要求どおりではないという理由だけで、実際には失敗するはずのレポートが合格する

次のようなアプローチを試すことができます。

  • テストを別々に保ちますが、それぞれをセットアップし、必要なテスト環境を破棄します。(ここでは、初期状態を提供する共有クラスが役立ちます)
  • 関連するテストを 1 つにマージして、セットアップ、実行、および終了を堅牢な方法で制御できるようにします。
于 2013-05-03T21:24:42.020 に答える