Web上の投稿では、Visual Studioで右クリックして[プロファイルテスト]を選択することで、テストのプロファイルを作成できることが示唆されています。 http://adamprescott.net/2012/12/12/performance-profiling-for-unit- tests / しかし、NUnitテストの場合は「テストの実行」と「テストのデバッグ」のみが表示され、xUnit.NETの場合も同じです。テストのプロファイルを作成するために何が欠けていますか?これはCommunityエディションでサポートされていないだけですか、それとも一部の構成またはコンポーネントがありませんか?
(Communityで実行可能ファイルをプロファイルできるので、Communityでサポートされていない場合は奇妙に思えます。したがって、テストを実行する実行可能ファイルを作成し、それをプロファイルすることでこの問題を回避することができます。 )
NUnitの再現手順:Visual Studio Community 2015で新しいC#ライブラリプロジェクトを作成し、 http://nunit.org/index.php?p=quickStartSource&r=2.6.4 のコンテンツを新しいファイルに貼り付け、次のようにNuGetパッケージをインストールしました。
<packages>
<package id="NUnit" version="2.6.4" targetFramework="net452" />
<package id="NUnit.Runners" version="2.6.4" targetFramework="net452" />
<package id="NUnitTestAdapter" version="2.0.0" targetFramework="net452" />
</packages>
Visual Studioを再起動しました。テストエクスプローラーにテストが表示されて実行できますが、右クリックメニューで「プロファイルテスト」オプションを使用できません。また、xUnit.netの同等の手順を試しましたが、喜びはありませんでした。
古い質問に回答してすみませんが、今日のVS Community 2015でNUnitテストのプロファイルを作成する方法で現在の回答を改善できると思いました。
ページ3:このページでは、実行する実行可能ファイルを定義する必要があります。
これは、NUnitのテストランナー_nunit3-console.exe
_、またはテストフレームワークに相当するものです。
C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe
bin\Debug\Test.dll --inprocess --test TestNamespace.TestClassName.Test_Method_Name
_\\MAC\Home\Documents\GitHub\ApplicationName\Test
_これらのパスをシステムに適したパスに置き換える必要があります。 _--inprocess
_スイッチを使用すると、テストがNUnitプロセスからインラインで実行されます。このスイッチがないと、子プロセスが生成され、プロファイラーが動作しているように見えても、自分のコードではなくnunit3-console.exeをプロファイリングしているだけです。
ページ4:完了をクリックします。
プロファイラーはレポートファイルを生成し、作業ディレクトリに保存することに注意してください。私の場合、作業ディレクトリはUNC共有であったため、プロファイラーが起動する前にレポートを保存するローカルフォルダーパスを選択する必要がありました。
NUnitランナーの出力が表示された端末ウィンドウが短時間表示されます。ウィンドウは自動的に閉じるため、赤いテキストのフラッシュが表示された場合、エラーが消える前にエラーを読む時間はありません。コマンドをページ3からコマンドプロンプトにコピーして、もっとゆっくり読むことができます。
コマンドが実行された後(コマンドが成功したかどうかに関係なく)、テストで発生した割り当ての数を追跡できるレポートを取得する必要があります。
残念ながら、小さなテストでの割り当ては、おそらくNUnit.Framework自体によって引き起こされる割り当てによって影が薄くなるでしょう。結果からそれらを除外する方法があるかどうかを確認するために周りをクリックしましたが、それを行う方法を見つけられなかったので、私はそれらを無視しました。
別のテストのプロファイルを作成する場合は、パフォーマンスエクスプローラーを開き、_nunit3-console.exe > Properties
_を右クリックしてコマンドライン引数を変更し、_Actions > Start Profiling
_をクリックしてレポートを更新します。
このソリューションは、単一のNUnitテストの結果のプロファイリングに成功しますが、そのステートメントにはいくつかの注意事項があります。
プロファイリングする別の実行可能ファイルを作成するよりもやや不快感が少なく、レポートにNUnitの割り当てが表示されるため、非常に機密性の高いプロファイリングを行う必要がある場合、それが非スターターになる可能性があります。
VS 2015の経験が豊富な人は、レポートからNUnit.Frameworkdllを除外する方法に関するヒントを使用して、この答えを改善するのに役立つかもしれません。
答えは、質問で参照されているAdam Prescottページのコメントにあるようです。
2013年8月16日午後4時57分
残念ながら、MSDNによれば、この機能はPremiumエディションとUltimateエディションでのみ利用可能です。
コメント内のリンクは、現在Visual Studioの2015エディションを参照しています。ページの 2010エディション は、Visual Studio 2010のどのバージョンがプロファイリングをサポートしているかを明確に示しています。 2012以降のバージョンのページでは、プロファイリングをサポートするバージョンの明確な声明が省略されています。
_vstest.console.exe
_を使用して、MSTestテストのプロファイルを作成できます(テストアダプターを使用してnunit/xunitのプロファイルも作成できます)。
vstest.console.exe
_のパスを提供します(通常はC:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow
にあります)<full path to test dll file>.dll /TestCaseFilter:"FullyQualifiedName~<namespace>.<test class>"
_としてパラメーターを提供します/TestAdapterPath
_引数を使用したパスを_vstest.console.exe
_に指定します。その他 vstest.exeにパラメーターを提供する方法に関する情報