2010-05-28 3 views
17

Я изучаю некоторые модульные тесты, чтобы выяснить, протекают ли ресурсы (или нет) с помощью модульной системы тестирования, которая поставляется с Visual Studio.Можно ли профилировать использование памяти модульных тестов?

В настоящее время я оцениваю последнюю версию ANTS Profiler, но я не могу это решить, если это позволяет мне сделать снимок из кода (чтобы я мог сделать снимок, выполнить единичный тест a несколько сотен раз, принудительно собирать мусор, а также сделать еще один снимок и сохранить результаты для последующего анализа).

Возможно ли это сделать с ANTS/Visual Studio или я должен изучать варианты с другими профайлерами?

ответ

2

JetBrains dotTrace/dotMemory и ReSharper имеют лучшую интеграцию при модульном тестировании и профилировании.

http://www.jetbrains.com/profiler/index.html

Не уверен, что если МУРАВЬЕВ имеет такую ​​интеграцию, но вы можете обратиться Red Gate предпродажную, верно?

http://www.red-gate.com/about/all_testimonials.htm

Они ожидают, что вы назвать их для получения дополнительной информации.

+0

Оказывается, это должно быть поддерживаются в «будущей версии» –

+0

@ RowlandShaw Вы знаете, поддерживается ли это сейчас? –

+0

@SimonFischer не то, что я знаю –

0

Для будущих читателей стоит упомянуть, что вы можете заставить моментальные снимки из своего кода с помощью ANTI Memory Profiler. Вы должны ссылаться

RedGate.MemoryProfiler.Snapshot.dll

, который входит в МУРАВЬЯХ каталога установки. После этого вы можете сделать снимок с помощью вызова

RedGate.MemoryProfiler.Snapshot.TakeSnapshot ("Дополнительное имя снимка")

Full details here.

+0

Отказ от ответственности: я работаю в Red Gate –

5

Вы видели dotmemory от JetBrains?

dotMemory Unit - это единый модуль тестирования, который позволяет вам писать тесты , которые проверяют ваш код на все виды проблем с памятью.

Например:

Когда вам нужно просто оценить объем памяти, выделенной в тесте , вы можете использовать атрибут AssertTraffic. Этот гибкий атрибут позволяет фильтровать данные трафика по типу объекта, интерфейсу или пространству имен .

0

Я использую профилировщик ANTS, и то, что я считаю наиболее удобным, - это присоединить профилировщик к запущенному тестовому процессу, который может отличаться в зависимости от того, какую структуру тестирования вы используете. Например, я использую Resharper и имя образа процесса называется что-то вроде:

JetBrains.ReSharper.TaskRunner.CLR ...

Смежные вопросы