0
我配置了dotCover
从我们的GitLab CI服务器运行。 它正确运行测试,生成所需的输出,并且配置CI以将覆盖HTML输出存储在GitLab构件中。这工作完美无瑕。读取来自GitLab CI的dotCover总覆盖率输出
我想要做的是从dotCover.exe控制台运行器中读取总覆盖率输出并在gitlab CI中解析它。我读了dotCover documentation,但我没有找到一种方法输出包含覆盖到控制台的行。 Gitlab CI只能从ci作业的sdout中读取覆盖值,并将其与自定义正则表达式匹配。
这是我3210:
<?xml version="1.0" encoding="utf-8"?>
<AnalyseParams>
<TargetExecutable>C:\NUnit\nunit3-console.exe</TargetExecutable>
<TargetArguments>--agents=1 MyDll.Spec.dll MyDll2.Spec.dll</TargetArguments>
<Output>cover/AppCoverageReport.html</Output>
<ReportType>html</ReportType>
<Scope>
<ScopeEntry>MyApp\bin\x86\Release\net461\MyApp.*.dll</ScopeEntry>
<ScopeEntry>MyApp\bin\x86\Release\net461\*.exe</ScopeEntry>
</Scope>
<Filters>
<ExcludeFilters>
<FilterEntry>
<ModuleMask>*.Spec</ModuleMask>
</FilterEntry>
</ExcludeFilters>
</Filters>
</AnalyseParams>
和我一起.gitlab-ci.yml运行:
C:\dotCover\dotCover.exe analyse config.xml /TargetWorkingDir=.
有没有一种办法,以查看GitLab CI这个值?我错过了明显的东西吗?
谢谢
我和jacoco有同样的问题。它还创建了一个带有覆盖文件的HTML文件,我用'xmllint'(在Linux下)解析。强烈建议在xml/html时避免使用regexp。 –
@YanFoto感谢您的输入,这个特定的HTML很容易解析,总的覆盖范围是在JS部分的开头,所以我使用了一个非常简单的正则表达式:'/ = \ [\ [“Total”,\ d + \ 。\ d + /',但我根本不喜欢这个解决方案。我会尝试更好的解析工具,'dotCover'是仅限Windows的。 – aghidini