C#单元测试CI配置以及sonar单元测试覆盖率统计的配置
本文主要介绍demo C#项目的单元测试,包括单元测试的编写,执行,报告,以及jenkins如何执行单元测试,测试报告的生成,覆盖率统计以及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.工具以及代码见 https://github.com/wangjunting/CoverageCoverter ↩
- 2.generatedCoverageFile是类似于wangjunting_WANGJUNTING 2017-09-04 17_57_33.coverage的文件 ↩
更多推荐
所有评论(0)