Исключение метода в PartCover

Я пытаюсь изменить исходный код PartCover, чтобы исключить покрытие методом. Тем не менее, похоже, что основная логика в коде C++. Поскольку во время отладки невозможно войти в код cpp, может кто-нибудь подсказать мне, какие файлы мне нужно изменить? Я думаю, что это должны быть rules.cpp и instrumentator.cpp... и некоторый рефакторинг, необходимый в других файлах.cpp.h и.cs из-за внесенных в них изменений. Но если я ошибаюсь или есть другие места, на которые я тоже должен посмотреть, пожалуйста, дайте мне знать. Любой другой намек на продолжение будет также приветствоваться.

Спасибо,


Спасибо за ваш ответ. Однако раскомментирование DebugBreak приводит к тому, что nunit-console-86.exe перестает работать. Я изменил версию NUnit на 2.5.7, чтобы она соответствовала версии nunit-framework.dll в папке bin PartCover, но проблема все еще существует. Есть идеи, что может быть причиной этого?

У нас есть собственное консольное приложение, которое запускает метод проверки покрытия. Он гарантирует, что если какой-либо новый метод будет добавлен или код в существующих методах подвергнут рефакторингу, охват все равно должен быть как минимум больше, чем наш определенный процент. Иногда существуют методы, для которых тестирование не может быть сделано полностью по любой причине. Для тех, кто не имеет смысла исключать весь класс.

1 ответ

Упомянутые вами файлы, вероятно, являются лучшими местами в коде C++ для применения вашего дополнительного фильтра. Я предполагаю, что у вас есть способ расширить синтаксис, используемый в настоящее время для фильтров включения и исключения модулей и классов.

Вы можете отладить код, если вы раскомментируете DebugBreak в CorProfiler::Initialize (когда ваш.NET-процесс запускается и профилировщик загружен, это позволит вам присоединить отладчик C++ к профилировщику)

Могу ли я спросить, почему вы должны исключить конкретные методы? Я вижу необходимость исключать классы, т. Е. Тестовые классы и тому подобное, но не конкретные методы, это кажется чем-то, что может быть легче сделать, если необходимо просто игнорировать результаты в любых отчетах.

Другие вопросы по тегам