C#单元测试CI配置以及sonar单元测试覆盖率统计的配置

本文主要介绍demo C#项目的单元测试,包括单元测试的编写,执行,报告,以及jenkins如何执行单元测试,测试报告的生成,覆盖率统计以及sonar分析。

Demo C# 单元测试

https://github.com/wangjunting/Bank.git

Jenkins中sonar配置

(1)Begin Analysis. 指定测试结果文件和单元测试覆盖率文件
这里写图片描述

(2)执行构建编译步骤
这里写图片描述

(3)用vs自带的vstest.console.exe工具进行单元测试,生成trx格式的测试报告;并用vs自带的CodeCoverage.exe工具进行覆盖率的统计,生成覆盖率统计文件VisualStudio.coverage.
具体命令如下:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\amd64\CodeCoverage.exe collect /output:VisualStudio.coverage /verbose "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" /Logger:trx "BankTest\bin\Debug\BankTest.dll" "BankTestT\bin\Debug\BankTestT.dll"

这里写图片描述

(4)转换覆盖率的报告,将VisualStudio.coverage形式的报告转换为vstest.coveragexml形式的报告,命令如下:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\amd64\CodeCoverage.exe analyze /output:"vstest.coveragexml" "VisualStudio.coverage" 

这里写图片描述

(5)End Analysis

这里写图片描述

(6)检查jenkins中结果

这里写图片描述

这里写图片描述

Jenkins中展示测试报告和覆盖率

jenkins只能接受vstest.coveragexml形式的覆盖率报告,且用CodeCoverage.exe工具生成的vstest.coveragexml不能被jenkins解析,所以需要另外单独生成vstest.coveragexml格式的报告

(1)用vstest.console进行单元测试并进行覆盖率的统计
这里写图片描述

(2)用CoverageCoverter工具1将generatedCoverageFile2 转换成vstest.coveragexml文件
这里写图片描述

(3)发布测试结果报告
这里写图片描述

(4)立即构建之后在jenkins中检查结果
这里写图片描述


  1. 1.工具以及代码见 https://github.com/wangjunting/CoverageCoverter
  2. 2.generatedCoverageFile是类似于wangjunting_WANGJUNTING 2017-09-04 17_57_33.coverage的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值