Я пытаюсь ограничить сборки, которые анализируются в процедуре Cover Coverage в TFS, используя файл runsettings, но некоторые сборки настаивают на анализе, даже если я их явно исключаю.Как я могу принудительно исключить определенные сборки из покрытия кода?
Это мое текущее содержимое runsettings
файла:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations for data collectors -->
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage"
uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*Cloud4Mobile.*</ModulePath>
</Include>
<Exclude>
<ModulePath>.*Tests.dll$</ModulePath>
<ModulePath>.*TestUtilities.dll$</ModulePath>
</Exclude>
</ModulePaths>
<CompanyNames>
<Include>.*Mobiltec.*</Include>
</CompanyNames>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
Но когда я запускаю покрытие кода из Visual Studio, чтобы проверить этот файл, анализ еще показывает мне другие узлы, которые не соответствуют моему фильтру, как AutoMapper и CacheManager:
Обратите внимание, что мои настройки уже исключить эти сборки по умолчанию, но даже тогда я попытался явно исключить их без толку, как это:
<Exclude>
<ModulePath>^AutoMapper.dll$</ModulePath>
...
</Exclude>
Я пробовал все варианты регулярного выражения там, от менее ограничительного (с использованием. *) До самого ограничительного (как этот пример). Эти сборки загрязняют отчет, который я получаю в сводке сборки TFS, и я хотел бы удалить их из анализа. Это полный выход, который я получал от TFS, что, очевидно, совершенно бесполезно:
мне удалось удалить большинство из тех, с этим файлом конфигурации .runsettings, но как сделать, чтобы убедиться, что эти выбросы делать не показывать там тоже? Почему они даже показывают, в первую очередь, учитывая, что они не соответствуют моим фильтрам включения?
Я тоже пробовал, и он тоже не работал. Я думаю, что я пробовал все возможные варианты исключений, содержащих слово AutoMapper с теми же результатами. Что касается вашего предложения об исключении всего, я не думаю, что это сработает, поскольку список исключений обрабатывается _after_ включения, поэтому ничего не будет выбрано. – julealgon
@julealgon Вы также попытались добавить этот '. * AutoMapper. * ' в раздел 'Exclude'/element? –
mguassa