В визуальное студийное решение с 6 проектами (библиотеки классов и службы wcf) я добавляю новый тестовый проект с одним тестом и всего одной строкой Assert.AreEqual(1,1). OpenCover показывает 100% охват (100% последовательность и 100% ветвь).
OpenCover.Console.exe -target:"nunit3-console.exe" "-targetargs:Services.nunit" -register:user -skipautoprops -mergebyhash
Только когда я создал экземпляр класса из других проектов в тесте, покрытие упало до 0,1%.
Похоже, что если dll не загружена, OpenCover не может рассчитать покрытие кода.
Теперь вопрос заключается в том, что если добавляется новая библиотека классов и она никогда не создается в модульном тесте, будет ли OpenCover просто игнорировать dll при расчете показателей покрытия.
Это важно, потому что у нас распределенная команда, и разработчик может просто создать библиотеку классов и никогда не писать для нее тесты. В конечном итоге это появляется в обзорах кода, но можно ли настроить OpenCover для обнаружения этой ситуации.