複数の CPU/コアを活用して、単体テストにかかる時間を短縮

今作成中のホワイトペーパーから抜粋。(いつ公開できるかわからないので...)

 

--- ■ 複数の CPU/コアを活用して、単体テストにかかる時間を短縮

複数の単体テストを実施する場合、通常ひとつひとつ順を追って実行されます。

しかし、コンピューターが複数の CPU、または複数コアの CPU を搭載している場合、単体テストを並列で実行することができます。

これによって単体テストにかかる時間を短縮することができます。

■ 実行例: 2 つのテストが同時に処理されている (環境は 1 CPU, 2 コア)

なお、並列テストの実行はローカルで実施する単体テストのみが可能です。

コード化された UI テスト (Coded UI) や ASP.NET ホスト アダプターを使うテストには利用できません。

また、この並列テストの実行を行うと、コード カバレッジなどのデータ収集はできません。

 


■ 複数の CPU / コアでテストを実施

1. [ソリューション エクスプローラー] より、テスト設定ファイル (.testsettings) を右クリックし、コンテキストメニューより [ファイルを開くアプリケーションの選択] をクリックします。

2. [ファイルを開くアプリケーションの選択] より、”XML (テキスト) エディター” を選択します。

3. <Execution> 要素に parallelTestCount 属性を追加します。

  • <Execution parallelTestCount = 0> : 搭載している CPU またはコア数にもとづいて、単体テストを並列に処理します。 
  • <Execution parallelTestCount = n>    * n には数値を指定  : 同時に n 個のテストを実施します。すべての CPU/コア を使いたくない場合にこの指定を行います。 
  • <Execution> : 既定の設定です。1 CPU/コアのみが使用されます。 

4. テスト設定ファイル (.testsettings) を保存します。

5. ソリューション ファイルをいったん閉じて、再度ソリューションファイルを開き直します。

6. テストを実行します。