Я использую файл .runsettings, чтобы исключить некоторый код из охвата кода, но он не исключает их из охвата кода, так как проценты покрытия кода не меняются вообще. Ошибок нет.Исключить класс из покрытия кода - .runsettings
код:
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*\.dll$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*\.test.dll</ModulePath>
<ModulePath>.*\.csv.dll</ModulePath>
</Exclude>
</ModulePaths>
<Functions>
<Exclude>
<!-- CORE -->
<Function>xxx.DI.Mobile.Core.ViewModels.HomeAndContents.xxx</Function>
<Function>xxx.DI.Mobile.Core.ViewModels.Components.xxxx</Function>
<Function>xxx.DI.Mobile.Core.ViewModels.Components.xxx</Function>
<!-- xxx -->
<Function>^xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.xxx\.xxx$</Function>
<Function>^xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.xxx\.xxx$</Function>
<Function>.*\.xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.xxx\.xxx$</Function>
<Function>.*xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.Dashboard\.xxx$</Function>
</Exclude>
</Functions>
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>
</CodeCoverage>
Название длинного класса является только DOT обозначения полного пути каждого класса. Он говорит, чтобы использовать \.
для разграничения пространств имен.
Пример одного из моих классов:
namespace xxx.DI.Mobile.Core.State.ViewModels.xxx
{
public class xxx : yyy
{
то, что идет в функции тега, как так:
<Function>xxx.DI.Mobile.Core.State.ViewModels.xxx.xxx</Function>
Попытка эти регулярные выражения в своих функциональных тегов, но ни один из них работал еще :
<Function>^xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.Vehicle\.xxx$</Function>
<Function>^xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.Vehicle\.xxx$</Function>
<Function>.*\.xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.Policies\.xxx$</Function>
<Function>.*xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.Dashboard\.xxx$</Function>
<Function>xxx\.DI\.Mobile\.Core\.xxx\.ViewModels\.Common\.xxx</Function>
Почему это не исключает какой-либо из моих кодов от покрытия кода?