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

10 篇文章 0 订阅

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

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

预先工作

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

右键,管理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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值