我正在尝试将运行设置文件配置为仅输出名称为Adaptive
的项目的覆盖率,不包括测试。
我只想在我所在的解决方案的本地src目录中查找。
所以,完全卡住了,出于某种原因,这在我的代码覆盖率文件中什么都没有。
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*Adaptive.*.dll</ModulePath>
</Include>
<Exclude>
<ModulePath>.*Tests.*</ModulePath>
</Exclude>
</ModulePaths>
<Attributes>
<Exclude>
<Attribute>^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$</Attribute>
</Exclude>
</Attributes>
</CodeCoverage>
我做错了什么?
本地文件夹结构看起来像这个
Adaptive.sln
srcAdaptive.SomethingAdaptive.Something.csproj
srcAdaptive.NestedAdaptive.SomethingOtherThingAdaptive.SomethingOtherThing.csproj
srcUnitTests.Adaptive.Something.csproj
testsUnitTests.Adaptive.Something.csproj
(是的,我知道它一团糟,但改天会解决这个问题(
编写的正则表达式似乎有问题。
<ModulePath>.*Adaptive.*.dll</ModulePath>
应该改为
<ModulePath>.*Adaptive.*.dll$</ModulePath>
包含和排除节点使用正则表达式。如果正则表达式中存在错误(例如未转义或括号不匹配(,则不会运行代码覆盖率分析。