OpenCover показывает 100% охват без действительных тестов

В визуальное студийное решение с 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 для обнаружения этой ситуации.


person Shinva    schedule 07.03.2016    source источник
comment
Кажется, вам нужно вернуться к документации OpenCover. Между тем, в SharpDevelop проще использовать интеграцию OpenCover, community.sharpdevelop.net/blogs/mattward/archive/2012/08/08/ community.sharpdevelop.net/blogs/mattward/archive/2014/07/27/   -  person Lex Li    schedule 07.03.2016


Ответы (1)


Похоже, что если dll не загружена, OpenCover не может рассчитать покрытие кода.

Это ожидаемое поведение

Теперь вопрос заключается в том, что если добавляется новая библиотека классов и она никогда не создается в модульном тесте, будет ли OpenCover просто игнорировать dll при расчете показателей покрытия.

Он не игнорирует его, среда выполнения не загружает сборку, поэтому OpenCover ее не видит.

В конечном итоге это появляется в обзорах кода, но можно ли настроить OpenCover для обнаружения этой ситуации.

Не так, как есть, но вы можете написать тест, который пытается загрузить каждую .dll в свою папку. Это заставит его загрузиться, и OpenCover увидит его (при условии, что pdb доступен, а фильтры позволяют это и т. д. и т. д.)

person Shaun Wilde    schedule 07.03.2016