テスト間の依存関係について説明する前に、なぜテスト間の依存関係を持つべきでないかを強調したいと思います。ベストプラクティスは、テストをできるだけ独立させることです。テスト間に依存関係を作成すると、次のような結果になります:
- 速度の低下 - テストを並列実行できなくなります。例。
- バグの隠蔽 - 問題を指摘するテストだけでなく、依存するすべてのテストも失敗するため、それらが見つける可能性のあるバグが隠されてしまいます。
とはいえ、何ができるか見てみましょう。
テストプラン
テストプランは、アプリケーションのテストを開始する前に環境をセットアップし、テストの実行が終了した後にクリーンアップする必要がある場合に最適です。テストプランとその使用方法の詳細については、こちらをご覧ください。
設定ファイル
次の場合に設定ファイルを使用します:
- ブラウザで実行する場合よりも多くの権限を必要とするアクションを実行する必要がある場合(例 を特定の状態にリセット)。
- 動的に計算する必要があるパラメーターをテストに渡す必要がある場合(例)。
- 各テストの前後でアクションを実行する場合(beforeAll/afterAll ではなく)。
設定ファイルの詳細については、こちらをご覧ください。
設定ファイルからテストにパラメーターを渡す必要がある場合は、こちらをご覧ください。
実行順序
独立したテストのベストプラクティスを推奨していますが、実行順序を整理する方法は残しています。したがって、特定の順序でテストを実行したい場合や、並列実行したくない場合は、次のいずれかの方法を使用できます:
- テストスイート - テストスイートを作成して、テストを実行する順序を設定できます。テストスイートの詳細については、こちらをご覧ください。
- ラベル - テストを名前(辞書順)でソートするため、テスト名にプレフィックス番号を追加して、Testim が希望する順序で実行されるようにできます。
例: '1 - my test', '2 - my second test'
将来テストを途中に追加する必要がある場合に備えて、番号の間に間隔を空けるようにしてください。
例: '100 - test1', '110 - test1' など、テスト名に付けます。