Можно ли профилировать использование памяти модульными тестами?

StackOverflow https://stackoverflow.com/questions/2930172

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Не уверен, есть ли у ANTS такая интеграция, но вы можете проконсультироваться по предварительным продажам Red Gate, верно?

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

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

Другие советы

Вы видели дотмему от Jetbrains.?

подразделение dotmemory Является ли структура тестирования единиц, которая позволяет писать тесты, которые проверяют ваш код для всех видов проблем с памятью.

Например:

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

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

Jetbrains.resharper.taskrunner.Clr ...

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

Redgate.memoryProfiler.snapshot.dll.

который включен в каталог устанавливаемых муравьев. Затем вы можете сделать снимок, позвонив

Redgate.memoryProfiler.snapshot.takesnapshot ("необязательное имя снимка")

Полная информация здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top