次の方法で共有


MSTest のパフォーマンス規則

パフォーマンス ルールは、テストの実行速度を最適化する機会を特定することで、ハイ パフォーマンス テストをサポートします。

このカテゴリのルール

ルール ID Title Severity 修正完了
MSTEST0001 Parallelize 属性を使用します。 Info イエス

一般的なシナリオ

並列化のテスト

既定では、MSTest はテストを順番に実行します。これは、大規模なテスト スイートの実行時間に大きな影響を与える可能性があります。

  • [assembly: Parallelize]を使用して並列化を明示的に有効にするか、[assembly: DoNotParallelize]で順次実行を確認するように通知します。

これが重要な理由: 並列化では、複数のスレッドまたはプロセスでテストを同時に実行することで、テストの実行時間を大幅に短縮できます。 ただし、すべてのテスト スイートが並列化できるわけではありません (たとえば、共有状態を変更するテスト)。 このルールにより、並列化に関する意識的な決定を行うことができます。

並列化を有効にするタイミング:

  • テストは独立しており、状態を共有しません。
  • テストは実行順序に依存しません。
  • テストでは、グローバル リソース (データベース、ファイル、環境変数) は変更されません。

DoNotParallelize を使用する場合:

  • テストには共有リソースへの依存関係があります。
  • テストによってグローバル状態が変更されます。
  • テストには特定の実行順序が必要です。
  • テストエラーをデバッグしています。