.net core+jenkins+sonar配置sonar扫描和单元测试覆盖率(coverlet方式)

公司使用的是.net core,单元测试框架使用的xunit,想要统计出单元测试的覆盖率。

demo使用的是coverlet,针对没有使用rabbit mq的工程,可以准备统计出覆盖率。

预先工作

1、工程中,引入coverlet.msbuild包,引入方式,如截图

.net core+jenkins+sonar配置sonar扫描和单元测试覆盖率(coverlet方式)_第1张图片

右键,管理NuGet程序包,然后输入coverlet.msbuild,进行安装。

2、在服务器上,全局安装

dotnet tool install --global coverlet.console

3、下载sonar scanner msbuild 的.net core版本,放到工程中,并修改相关配置文件

 

Jenkins配置如下

带coverlet覆盖率的方式,运行测试项目

dotnet test D:\JenkinsWorkspace\workspace\test\coverage(xunit)\XUnitTestProject1\XUnitTestProject1.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude=\"[xunit.runner.*]*\"

sonar scanner运行,指定覆盖率的文件所在

dotnet D:\JenkinsWorkspace\workspace\test\coverage(xunit)\sonar-scanner-msbuild\SonarScanner.MSBuild.dll begin /k:fugailv2 /n:FUGAILV2 /d:sonar.host.url=http://192.168.200.152:9000 /d:sonar.login=admin /d:sonar.password=admin /d:sonar.cs.opencover.reportsPaths=D:\JenkinsWorkspace\workspace\test\coverage(xunit)\XUnitTestProject1\coverage.opencover.xml /d:sonar.coverage.exclusions=[**Tests*.cs,coverage.opencover.xml]

sonar scanner运行结束

dotnet build
dotnet D:\JenkinsWorkspace\workspace\test\coverage(xunit)\sonar-scanner-msbuild\SonarScanner.MSBuild.dll end /d:sonar.login=admin /d:sonar.password=admin

 

 所使用的示例项目见百度网盘地址

https://pan.baidu.com/s/1Soxw-dW7r-w09kfBXoNHnw

 

你可能感兴趣的:(jenkins,QA)