为什么所有课程在TeamCity的dotCover结果中出现两次?

为什么所有课程在TeamCity的dotCover结果中出现两次?,teamcity,dotcover,Teamcity,Dotcover,使用TeamCity 9.0.2,我有一个Nunit构建步骤,配置如下: 从运行测试:***.tests.dll 不要从以下位置运行测试:***\obj\***\.dll .NET覆盖工具:JetBrains dotCover 过滤器:-:MyAssembly.Tests(以及要排除的主程序集中的几个名称空间) 在我运行构建之后,代码覆盖率报告将每个类显示两次,两个类的输出/统计数据完全相同。例如: 类别100%(2/2)100%(20/20)75%(75/100) 类别100%(2/2)100

使用TeamCity 9.0.2,我有一个Nunit构建步骤,配置如下:

从运行测试:***.tests.dll
不要从以下位置运行测试:***\obj\***\.dll
.NET覆盖工具:JetBrains dotCover
过滤器:-:MyAssembly.Tests(以及要排除的主程序集中的几个名称空间)

在我运行构建之后,代码覆盖率报告将每个类显示两次,两个类的输出/统计数据完全相同。例如:
类别100%(2/2)100%(20/20)75%(75/100)
类别100%(2/2)100%(20/20)75%(75/100)
类别2 100%(4/4)100%(30/30)80%(120/150)
类别2 100%(4/4)100%(30/30)80%(120/150)


还有其他人见过同样的行为吗?如果是,您可以建议如何解决此问题?

例如,如果您有两个不同的生成配置可以在同一生成代理上运行,您可能会得到两个与“***.Tests.dll”模式匹配的类似测试程序集。因此,覆盖率报告可能包含重复数据


您可以在生成步骤中更精确地指定目标程序集(生成步骤|从中运行测试),或者在生成之前清理相应的签出目录(版本控制设置|在生成之前清理签出目录中的所有文件)

恐怕没有日志就不可能找到问题的原因。如果将“teamcity.agent.dotCover.log”配置参数添加到生成配置中,并带有指向代理上的空目录的路径,则所有dotCover日志文件都将放在那里,teamcity将压缩日志作为隐藏的生成工件发布:'.teamcity/.NETCoverage/dotCoverLogs.zip'。请将日志发送到此电子邮件地址:support@jetbrains.com.Thanks玛丽亚。我独立地尝试了这两种方法,它们都有效。