dotMemory Unit — это фреймворк юнит-тестирования, который позволяет писать тесты, проверяющие код на все виды проблем, связанных с памятью. Теперь вы можете расширить возможности NUnit, MSTest или другого фреймворка юнит-тестирования для .NET, добавив в него функциональность профилировщика.
dotMemory Unit подходит для любого рабочего процесса: интегрируется с JetBrains Rider и Visual Studio, работает с автономными инструментами запуска юнит-тестов и готов к работе в окружении непрерывной интеграции. И последнее, но немаловажное: dotMemory Unit бесплатен.
Проверка на наличие объектов определенного типа является основным способом находить утечки памяти в вашем коде. С помощью dotMemory Unit вы можете определить набор объектов, используя практически любое условие, вычислить их количество и размер, а также использовать эту информацию в своих выводах.
Если нужно просто оценить объем памяти, выделенной в рамках теста, вы можете использовать атрибут AssertTraffic. Этот удобный атрибут позволяет отфильтровать данные трафика по типу объекта, интерфейсу или пространству имен.
Как и в профилировщике dotMemory вы можете использовать контрольные точки не только для получения выводов об объеме трафика, но также для разнообразных операций по сравнению снапшотов.
Некоторые проблемы с памятью бывает необходимо исследовать в dotMemory вручную. Просто установите правила для определения таких случаев — рабочее пространство для дальнейшего анализа в dotMemory будет создано автоматически.