パフォーマンス ルールは、テストの実行速度を最適化する機会を特定することで、ハイ パフォーマンス テストをサポートします。
このカテゴリのルール
| ルール ID | Title | Severity | 修正完了 |
|---|---|---|---|
| MSTEST0001 | Parallelize 属性を使用します。 | Info | イエス |
一般的なシナリオ
並列化のテスト
既定では、MSTest はテストを順番に実行します。これは、大規模なテスト スイートの実行時間に大きな影響を与える可能性があります。
-
[assembly: Parallelize]を使用して並列化を明示的に有効にするか、[assembly: DoNotParallelize]で順次実行を確認するように通知します。
これが重要な理由: 並列化では、複数のスレッドまたはプロセスでテストを同時に実行することで、テストの実行時間を大幅に短縮できます。 ただし、すべてのテスト スイートが並列化できるわけではありません (たとえば、共有状態を変更するテスト)。 このルールにより、並列化に関する意識的な決定を行うことができます。
並列化を有効にするタイミング:
- テストは独立しており、状態を共有しません。
- テストは実行順序に依存しません。
- テストでは、グローバル リソース (データベース、ファイル、環境変数) は変更されません。
DoNotParallelize を使用する場合:
- テストには共有リソースへの依存関係があります。
- テストによってグローバル状態が変更されます。
- テストには特定の実行順序が必要です。
- テストエラーをデバッグしています。
関連ドキュメント
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET