Исключение метода в PartCover - PullRequest
0 голосов
/ 21 июля 2011

Я пытаюсь изменить исходный код 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 Ответ

0 голосов
/ 21 июля 2011

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

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

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

...