我没有从opencover得到任何结果。我的nunit测试全部运行并通过,只是没有覆盖结果。问题似乎是opencover过滤器,但我们没有设置任何。有什么建议么?无法获得Gradle OpenCover插件来生成覆盖率结果
CodeCoverage.xml文件包含一组如下所示的行,表示该插件告诉opencover过滤掉我们要测量的DLL。
<Module hash="A3-F0-3A-1A-FF-38-D7-EF-A2-55-C9-8B-84-37-CF-CF-00-80-70-23" skippedDueTo="Filter">
<FullName>C:\gitlab-runner\builds\83ebc972\0\active\scrpt\output\Scrpt.Core.dll</FullName>
<ModuleName>Scrpt.Core</ModuleName>
<Classes/></Module>
它具有正确的dll文件路径,但我不明白为什么它会因为过滤而被跳过。单元测试包含在一个名为Scrpt.Test.dll的dll中,其余的代码位于其他所有DLL都被过滤掉的DLL中。
我使用以下插件
plugins {
id 'com.ullink.msbuild' version '2.15'
id 'com.ullink.nunit' version '1.8'
id 'com.ullink.opencover-nunit' version '1.6'
}
和NUnit的和opencover插件定义是:
nunit {
testAssemblies = [file('output/Scrpt.Tests.dll')]
shadowCopy = false
useX86 = true
ignoreFailures = false
}
opencover {
targetAssemblies = [file('output/Scrpt.dll'),file('output/Scrpt.Core.dll'),file('output/Scrpt.SourceCitations.dll'),file('output/ScrptUtilLib.dll')]
ignoreFailures = false
}
感谢你的帮助, -herb