如何将dotcover排除文件设置添加到TFS?

时间:2014-10-24 11:04:55

标签: c# tfs dotcover

我正在尝试为TFS添加“排除文件”设置(对于jetbrains-dotcover)以便 避免程序员必须手动设置相同的设置。

在尝试并搜索之后我没有找到任何信息,因此我的问题是: 这可能吗?如果是这样的话?

1 个答案:

答案 0 :(得分:1)

我假设您正在从TFS中的命令行运行dotCover。从命令行参考运行DotCover的documentation,您需要在调用中添加一个参数来排除程序集:

/ Filters = ARG :(可选)使用以下语法指定coverage过滤器:+:module = ; class = ; function = ;                                  使用 - :myassembly从代码覆盖范围中排除程序集。这里支持星号通配符(

如果您的coverage设置有dotCover xml文件,则可以将其排除在其中。查看相同的documentation以编辑xml。我想你需要添加的东西看起来像这样:

<Filters>
  <ExcludeFilters>
    <FilterEntry>
      <ModuleMask>AssemblyToExclude.dll</ModuleMask>
      <ModuleMask>*Tests*</ModuleMask> <!--This is an example to exclude all assemblies with Tests in their name-->
    </FilterEntry>
  </ExcludeFilters>
</Filters>

documentation中有一些关于如何从命令行设置运行的一般信息。

* Proviso:我没有尝试过我的建议,我只是从我自己的DotCover / TeamCIty TFS体验中进行投射。更多信息可能会提供更准确的答案。

<强>更新
如果你按照@Thomas评论使用dotCover,那么你可以通过运行dotCover并选择File =&gt; Edit Coverage Filters来编辑你的机器的过滤器...如果你在那里添加一个过滤器,它也将适用于任何来自视觉工作室。例如,添加程序集* Test * exclude过滤器将停止任何包含单词Test in的程序集包含在报告中:

Coverage Filters

我认为您的团队需要在他们的所有计算机上设置相同的排除过滤器。

<强> UPDATE2:
我找到了每个解决方案过滤器设置的存储位置。它们位于sln旁边的DotSettings文件中(例如MyProject.sln有MyProject.sln.DotSettings)。为了将此文件排除在此文件中,您应该在Visual Studio中打开解决方案,转到DotCover-&gt;编辑覆盖率过滤器并为当前解决方案添加过滤器。

Add solution Filter

这会在您的DotSettings文件中产生以下信息:

<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue">&lt;data&gt;&lt;IncludeFilters /&gt;&lt;ExcludeFilters&gt;&lt;Filter ModuleMask="*Maths*" ModuleVersionMask="*" ClassMask="*" FunctionMask="*" IsEnabled="True" /&gt;&lt;/ExcludeFilters&gt;&lt;/data&gt;</s:String>

如果您将DotSettings文件提交给TFS,您的团队将获得排除。请参阅有关共享设置的文档here和文档,以及有关设置here的信息。