Есть ли способ использовать профилировщик EQATEC в моих модульных тестах NUnit? - PullRequest
5 голосов
/ 27 мая 2011

Я хотел бы использовать профилировщик EQATEC в моих модульных тестах NUnit, как я делал это с JetBrains dotTrace в сочетании с TestDriven.NET и NUnit. Есть ли способ сделать это? На самом деле, мне кажется, что мне нужно обернуть мой UnitTest в консольное приложение, а затем использовать для этого профилировщик.

Ответы [ 2 ]

3 голосов
/ 29 мая 2011

EQATEC Profiler на самом деле вполне подходит для автоматизации: он имеет версию для командной строки и API, с помощью которого вы можете контролировать большинство аспектов профилирования, и вам просто придется использовать это в своих модульных тестах.

API описан в руководстве пользователя профилировщика . То, что вы хотите сделать, это, вероятно, что-то вроде этого:

  1. Сначала добавьте ссылку на профилировщик-API. Вы найдете сборки для четырех разных платформ в установленной папке RuntimeDLL. Возможно, вы ищете EQATEC.Profiler.RuntimeFullNet.dll, но есть также реализации для NetCF, Silverlight и WP7.
  2. Теперь вы можете добавить код в свои юнит-тесты, чтобы делать моментальные снимки в любое время и сохранять их в файле по вашему выбору, используя методы EQATEC.Profiler.Runtime.TakeSnapshot(). Эти файлы отчетов могут быть позже проверены в профилировщике.

Помните, что вам по-прежнему необходимо скомпилировать модульный тест с помощью профилировщика и запустить инструментальные версии, но это можно автоматизировать с помощью версии профилировщика EQATECProfilerCmd.exe из командной строки. Это действительно просто использовать и выглядит так:

EQATECProfilerCmd -build <your app directory>
0 голосов
/ 19 июня 2012

Мне нравится использовать переменные сборки в моей командной строке событий после сборки в Visual Studio.EQATECProfilerCmd не любит обратную косую черту в конце пути, поэтому я делаю это:

"C: \ Program Files (x86) \ EQATEC \ EQATECProfiler \ EQATECProfilerCmd" -build "$ (TargetDir)."

Обратите внимание, как я включил точку в конце команды.Также обратите внимание, как я помещаю кавычки вокруг пути, потому что я знаю, что в пути есть пробелы.

...