web-dev-qa-db-ja.com

Visual Studio 2013 Professionalを使用して単一単体テストのパフォーマンスをプロファイルする方法は?

単一の自動テストに対してVisualStudio 2013Professionalエディションプロファイラーを実行したいと思います。 Professionalエディションを使用してこれを行う方法については、他の質問からは明らかではありません。

これは可能ですか?もしそうなら、どのように?

22
GaTechThomas

さて、プロファイラーサンプリング(インストルメンテーションではない)のためにそれを行う方法を理解しました...

  1. Visual Studio(VS)を起動し、プロファイリングする自動テストがあるプロジェクトを開きます。
  2. プロファイルされるテストの最初の行にブレークポイントを設定します。
  3. テストをデバッグします。
  4. VSの2番目のインスタンスを開始します。
  5. パフォーマンスエクスプローラーを開きます(VS2013のバージョンに応じて、[ツール]-> [分析]-> [Windows]-> [パフォーマンスエクスプローラー]または[分析]-> [Windows]-> [パフォーマンスエクスプローラー]のいずれかになります)。
  6. パフォーマンスエクスプローラーで、[アクション]-> [アタッチしてvstest.executionengine。*にアタッチ]をクリックします。
  7. 最初のVSインスタンス(現在はブレークポイントにあります)に戻り、テストを実行して完了します。
  8. 2番目のVSインスタンスに戻ります。プロファイラーは、単体テストプロセスが終了したことを検出し、プロファイリングを完了します。

改善できることの1つは、インストルメンテーションを使用してこれを行うことですが、VSProfessionalエディションでこれをどのように行うことができるかは現時点では明確ではありません。

30
GaTechThomas

単体テストでパフォーマンス分析を実行するには、単体テストメソッドを呼び出すコンソールアプリケーションを作成し、それをパフォーマンス分析のターゲットプロジェクトとして使用します。これは、VSの2つのインスタンスを起動してアタッチするよりもおそらく簡単です。

13
MarkPflug