TL;DR
Я знаю, что могу исключить класс или метод из анализа покрытия с помощью атрибута [ExcludeFromCodeCoverage], но есть ли способ исключить только часть метода?
Конкретный пример
У меня есть метод, который лениво генерирует последовательность элементов int.MaxValue:
Код: Выделить всё
private static IEnumerable GenerateIterator(Func generator)
{
for (int i = 0; i < int.MaxValue; i++)
{
yield return generator(i);
}
}
Я мог бы написать тест, который обрабатывает всю последовательность, но его выполнение занимает очень много времени, особенно с включенным покрытием.
Поэтому я хотел бы найти способ сообщить DotCover, что самую последнюю инструкцию не нужно описывать.
Примечание: я знаю, что на самом деле это не так. необходимо, чтобы весь код был охвачен модульными тестами; некоторые фрагменты кода не могут или не нуждаются в тестировании, и я обычно исключаю те, у которых есть атрибут [ExcludeFromCodeCoverage]. Но мне нравится иметь 100%-ное покрытие кода, который я тестирую, потому что так легче обнаружить непроверенные части кода. Иметь метод с 80%-ным покрытием, когда вы знаете, что в нем больше нечего тестировать, очень раздражает...
Подробнее здесь: https://stackoverflow.com/questions/241 ... e-coverage
Мобильная версия