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
    
posted @ 2021-08-11 09:59  往事随灬锋  阅读(379)  评论(0编辑  收藏  举报