Исключить тестовый код из метрик кода

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

Я хотел бы иметь сборку без предупреждений о строках кода на тестовых проектах.


person Aage    schedule 20.03.2015    source источник
comment
Когда вы говорите о метриках кода, вы имеете в виду анализ кода? Если это так, вы можете подавить предупреждения об анализе кода из окна анализа кода, щелкнув предупреждение правой кнопкой мыши и выполнив подавление в файле или коде. Что касается моральных предупреждений, я не уверен. Вы могли бы установить TreatWarningsAsErrors, чтобы заставить вас исправить их, но это излишне   -  person Kyle    schedule 20.03.2015
comment
Я предполагаю, что вы не имеете в виду анализ кода, а смотрите из моего поиска в Google   -  person Kyle    schedule 20.03.2015
comment
Нет, я имею в виду метрики кода. Вы можете щелкнуть проект правой кнопкой мыши › Анализировать › Вычислить метрики кода. Это даст вам представление о глубине наследования, т.е. Но мне это не нужно для тестовых проектов.   -  person Aage    schedule 20.03.2015
comment
Что насчет использования msdn .microsoft.com/en-us/library/ на этой странице geekswithblogs.net/terje/archive/2008/11/10/ похоже указывает на то, что он может работать, хотя страница довольно старая и это действительно правильный путь.   -  person Kyle    schedule 20.03.2015
comment
Да, я тоже это нашел. Я не хочу злоупотреблять этим атрибутом для этой цели. Смотрите мой ответ для решения.   -  person Aage    schedule 20.03.2015


Ответы (2)


Судя по всему, в шаблоне сборки есть поле Files to ignore, которого я не замечал уже несколько месяцев:

Code Metrics > Files to ignore.

Это требует регулярного выражения, поэтому я могу просто написать:

*.Tests.dll

Это исключает мои тестовые библиотеки.

person Aage    schedule 20.03.2015
comment
Я использую сообщество Visual Studio 2019 и не могу найти эти параметры, которые нужно игнорировать. Есть ли сейчас такая возможность или ее убрали? Если да, то не могли бы вы подсказать, где его найти? - person SoftDev30_15; 20.09.2019

Вы должны разделить свое решение на два проекта. Один для вашей программы, один для тестов. Тогда вам просто нужно запустить анализ кода в проекте программы. И помните, что ваши тесты тоже должны быть чистыми

person ZwoRmi    schedule 20.03.2015
comment
Это правильное замечание, что тесты также должны быть чистыми. Однако я не готов разделить решение на два, это не имеет для меня смысла. Смотрите мой ответ для решения, которое я нашел. - person Aage; 20.03.2015