NCover 1.5.8 / NCoverExplorer 1.4.0.7 ручные исключения очень нестабильны - PullRequest
2 голосов
/ 29 июня 2010

Я еще не установил свою лицензию на NCover 3, и все еще использую 1.5.8 на моем сервере сборки.Я пытаюсь исключить полные сборки и конкретные классы, которые я не хочу включать в отчет, потому что они искусственно понижают результаты покрытия.

В NCoverExplorer я играл с опциями, потому что естьраздел исключений покрытия на вкладке Параметры, где вы можете указать полные пространства имен.Я поступил в полностью квалифицированные классы, и по какой-то причине исключается лишь несколько из них, и я не могу понять, почему.Например, когда я добавляю System.ComponentModel.Composition в список, он никогда не исключается!

Является ли это просто ошибкой в ​​1.5.8, с которой мне пока приходится мириться, поскольку это бета-версия итоже больше не поддерживается?Несмотря на то, что у меня есть новая лицензия на сервер, я хотел бы иметь возможность провести некоторое покрытие дома на своем персональном компьютере.

Я нашел действительно замечательную статью об использовании CoverageExcludeAttribute чтобы NCover автоматически пропускал те классы / методы, которые помечены этим атрибутом.Это лучший вариант?

Ответы [ 2 ]

1 голос
/ 29 июня 2010

Вы пытались использовать регулярные выражения для включения / исключения сборок -

//ias AuctionSniper([.\w]*?)(?<!Tests) включает в себя все сборки, которые начинаются с AuctionSniper, но не заканчиваются тестами, например AuctionSniper.Main.exe Вы можете указать несколько шаблонов, разделенных точкой с запятой.
или //ias .*vendorsupplied.*;.*tests

Это работает с NCover 3 - вы можете попробовать его, если оно работает для бесплатной / общественной версии.

0 голосов
/ 29 июня 2010

Один из способов пройти часть пути - это использовать опцию «сборки для включения в покрытие».Это позволило мне игнорировать System.ComponentModel.Composition.Однако, исключение большинства других классов и пространств имен все еще не работает.Немного странно, что когда я исключаю целый класс, он исключает только методы, но не любые содержащиеся в нем классы.

...