JetBrains dotTraceをTestDriven.NETおよびNUnitと組み合わせて使用したのと同じように、NUnitユニットテストでEQATECプロファイラーを使用したいと思います。これを行う方法はありますか?現状では、UnitTestをコンソールアプリでラップしてから、その上でプロファイラーを使用する必要があるようです。
2 に答える
EQATEC Profilerは、実際には自動化に非常に適しています。コマンドラインバージョンとAPIを備えており、プロファイリングのほとんどの側面を制御できます。ユニットテストでそれを使用するだけです。
APIについては、プロファイラーのユーザーガイドで説明されています。あなたがしたいことはおそらくこのようなものです:
- まず、プロファイラーAPIへの参照を追加します。インストールされたRuntimeDLL-folderには、4つの異なるプラットフォーム用のアセンブリがあります。あなたはおそらく探していますが
EQATEC.Profiler.RuntimeFullNet.dll
、NetCF、Silverlight、およびWP7の実装もあります。 - これで、ユニットテストにコードを追加して、必要なときにいつでもタイミングスナップショットを取得し、
EQATEC.Profiler.Runtime.TakeSnapshot()
メソッドを使用して選択したファイルに保存することができます。これらのレポートファイルは、後でプロファイラーで検査できます。
コンパイルされた単体テストをプロファイラーでインストルメント化し、インストルメントされたバージョンを実行する必要があることに注意してください。ただし、これは、プロファイラーのコマンドラインバージョンであるEQATECProfilerCmd.exeを使用して自動化できます。本当に簡単に使用でき、次のようになります。
EQATECProfilerCmd -build <your app directory>
Visual Studio のビルド後のイベント コマンド ラインでビルド変数を使用するのが好きです。EQATECProfilerCmd は、パスの末尾にあるバックスラッシュを好まないため、次のようにします。
"C:\Program Files (x86)\EQATEC\EQATECProfiler\EQATECProfilerCmd" -build "$(TargetDir)."
コマンドの最後にどのようにピリオドを含めたかに注意してください。また、パスにスペースがあることがわかっているため、パスを引用符で囲む方法にも注意してください。