プロファイル単体テスト
ユニットテストのプロファイリングには 3 つの方法があります。
API を使用してプロファイリングを制御する場合、これが単体テストをプロファイリングする唯一の可能な方法であることに注意してください。
Visual Studio で統合された dotTrace を使用して単体テストをプロファイルする
Visual Studio でソリューションを開きます。
ユニットテストでファイルを開きます。
テストクラスまたはテストメソッドを選択します。
ガターの対応するサイドバーマークをクリックします。
コンテキストメニューで、プロファイルを選択します。
単体テストセッションウィンドウが開きます。
プロファイリングオプションを指定します。
テストの実行が完了すると、スナップショットが dotTrace Viewer で開かれます。
ReSharper のユニットテストセッションウィンドウからユニットテストをプロファイリングするには
単体テストセッションウィンドウのツリービューでノードを選択します。
ツールバーのリストからプロファイル単体テストを選択します。
プロファイリングオプションを指定します。
テストの実行が完了すると、スナップショットが表示されます。
スタンドアロン dotTrace を使用して単体テストのプロファイルを作成するには
スタンドアロンアプリケーションとして dotTrace を実行する。dotTrace ホームウィンドウが開きます。
実行構成を追加します – プロファイルされたアプリケーションの実行方法を dotTrace に指示する構成です。
プロファイルするものを選択してください、新しいプロセスの実行で、 実行構成を追加するをクリックします。
新規実行構成ウィザードで、.NET Core アプリケーションを選択し、次へをクリックします。
使用するユニットテストフレームワークに応じて、パスフィールドにその実行可能ファイルへのパスを指定します。次のフレームワーク / 実行可能ファイルを操作できます。
NUnit 用の nunit.exe。
NUnit 用の nunit-console.exe。
MSTest 用の MSTest.exe。
xUnit 用の xUnit-console.exe。
単体テストで .dll ファイルへのパスを指定し、必要に応じて引数を引数フィールドに追加します。
必要に応じて、アプリケーション作業ディレクトリへのフルパスを指定します(デフォルトでは、実行可能ファイルが配置されているのと同じディレクトリです)。
必要に応じて、環境変数を設定するを使用して環境変数を指定します。各変数は新しい行で指定する必要があります。
保存をクリックします。
作成した実行構成が新しいプロセスの実行リストで選択されていることを確認してください。
プロファイルする方法を選択しますで、プロファイリングオプションを指定します。
プロファイリングタイプ : 通常、サンプリング (パフォーマンスを評価し、アプリで最も遅いメソッドを決定する) とタイムライン (サンプリングと同じですが、タイムラインデータが追加されます) のいずれかを選択する必要があります。プロファイリングタイプの詳細
オプションで、アプリケーションが多数のプロセスを作成し、特定のプロセスのみをプロファイリングする場合は、プロセスフィルターを作成します。
例: nunit-console.exe で実行されている NUnit テストのプロファイルを作成する必要がある場合、NUnit テストランナーはテストを実行するための別個のプロセスを作成することに注意してください。nunit-console.exe プロセスをプロファイリングから除外する必要があります。これを行うには、
nunit-console*
フィルターを追加します。必要に応じて、他のプロファイリングオプションを指定します。
プロファイリングを実行するで、最初からプロファイリングデータを収集するを選択します。
開始をクリックします。これにより、プロファイリングセッションが開始されます。
プロファイリングコントローラーウィンドウのスナップショットを取得するボタンを使用してスナップショットを収集します。プロファイリングセッションを制御する方法の詳細
コントローラーウィンドウの切り離すボタンを使用して、プロファイラーをデタッチします。
dotTrace Viewer を使用して、収集したスナップショットを分析します。
構成例
テストランナー | アプリケーション | 引数 |
---|---|---|
nUnit 用の nunit.exe | テストランナー実行可能ファイルへのパス。 サンプル: "C:\Program Files (x86)\NUnit 2.5.3\bin\net-2.0\nunit.exe" | 単体テストを含む dll ファイルへのパス。 サンプル: "C:\Projects\ConsoleApplication1\ConsoleApplication1Test\bin\Debug\ConsoleApplication1Test.dll" |
nUnit 用の nunit-console.exe | テストランナー実行可能ファイルへのパス。 サンプル: "C:\Program Files (x86)\NUnit 2.5.3\bin\net-2.0\nunit-console.exe" | 単体テストを含む dll ファイルへのパスと、テスト結果が保存されている xml ファイルの名前。 サンプル: "C:\Test progs\ConsoleApplication1nUnit\ConsoleApplication1nUnitTest.dll" /xml:C:\Temp\1.xml |
MSTest の MSTest.exe | テストランナー実行可能ファイルへのパス。 サンプル: "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" | 引数:
例: /noisolation
/testcontainer:"C:\Projects\ConsoleApplication1\ConsoleApplication1Test\bin\Debug\ConsoleApplication1Test.dll"
|
xUnit 用の xUnit-console.exe | テストランナー実行可能ファイルへのパス。 サンプル: "C:\Program Files (x86)\xunit-1.5\xunit.console.exe" | 単体テストを含む dll ファイルへのパスと、テスト結果が保存されている xml ファイルの名前。 サンプル: "C:\Projects\ConsoleApplication1\ConsoleApplication1xUnit\bin\Debug\ConsoleApplication1xUnit.dll" /xml 1.xml |
結果のスナップショットには、プロファイリングしている単体テストだけでなく、テストフレームワーク自体に関連する多くの情報が含まれているため、単体テストに関する情報を抽出するのは困難な作業になります。スナップショットに単体テストコードがまったく見つからない場合は、テストが実際に実行されていることを確認してください。場合によっては、権限不足のため、テストを実行する前に MSTest が停止することがあります。その場合は、管理者として dotTrace を実行してみてください。
関連ページ:
API を使用したプロファイリングセッションの制御
プロファイリング API は、プロファイリングプロセスを制御できるようにする多数のクラスを提供します。例: アプリケーションのコードから、次のことができます。プロファイリングデータの収集を開始する:,、データ収集を停止する:,、データをディスクに保存する:,、その他、API クラスの詳細については、API 参照を参照してください。プロファイリング API を使用する必要がある主なシナリオは 2 つあります。コードの特定部分のプロファイリング、自己プロファイルアプリケーション。コードの特定の部分をプ...
dotTrace を実行
必要に応じて、いくつかの方法で dotTrace を操作できます。スタンドアロンアプリケーション dotTrace は、オペレーティングシステムにインストールされたスタンドアロンアプリケーションとして実行します。JetBrains Toolbox を使用して dotTrace をインストールして起動することを強くお勧めします。dotTrace コマンドラインツール dotTrace をコマンドラインツールとして実行します。Microsoft Visual Studio に統合された dotTraceV...