SonarQube集成Xunit单元测试
安装SonarQube
-
利用docker 安装SonarQube
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
- 服务的内存空间要充足
- 检查服务器安装的JavaSdk版本,要满足部署后的SonarQube的基础版本要求,比如SonarQube用的JavaSdk为11,那么服务就需要安装JavaSdk为11的版本
-
.NET CORE 中安装 dotnet-sonarscanner
dotnet tool install --global dotnet-sonarscanner
SonarQube集成Xunit
-
编写Xunit 单元测试
-
单元测试项目使用NuGet安装:
coverlet.msbuild
-
执行单元测试,生成单元测试覆盖率文件,
coverage.opencover.xml
dotnet test 以csproj结尾的文件位置 /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude=\"[xunit.runner.*]\"
-
标记开始上传单元测试覆盖率文件和源代码分析
dotnet sonarscanner begin /k:"test" /d:sonar.host.url="http://192.168.16.236:9900" /d:sonar.login="admin" /d:sonar.password="123456" /d:sonar.cs.opencover.reportsPaths= coverage.opencover.xml /d:sonar.coverage.exclusions=[**test*.cs,coverage.opencover.xml]
-
编译构建源代码
dotnet build
-
上传单元测试覆盖率文件和源代码分析
dotnet sonarscanner end /d:sonar.login="admin" /d:sonar.password=123456
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端