代码之家  ›  专栏  ›  技术社区  ›  Felipe Augusto Ak S

如何使用.Net Core和coverlet查看友好的单元测试报告?

  •  4
  • Felipe Augusto Ak S  · 技术社区  · 6 年前

    我正在使用coverlet和.Net Core开发一个API,我开始进行单元测试(我为.Net Core找到的唯一工具是coverlet)。

    我得到了报道,但我只能得到 json , xml 等。

    我需要看到一个HTML或其他更直观的东西,才能快速处理测试。

    +---------------------------+--------+--------+--------+
    | Module                    | Line   | Branch | Method |
    +---------------------------+--------+--------+--------+
    | rede-merchants-cancel-api | 12,5%  | 0%     | 16,7%  |
    +---------------------------+--------+--------+--------+
    

    输出的一部分 :

    "Program.cs": {
      "Program": {
        "System.Void rede_merchants_cancel_api.Program::Main(System.String[])": {
          "Lines": {
            "9": 0,
            "10": 0,
            "11": 0
          },
          "Branches": []
        },
        "Microsoft.AspNetCore.Hosting.IWebHost rede_merchants_cancel_api.Program::BuildWebHost(System.String[])": {
          "Lines": {
            "14": 0,
            "15": 0,
            "16": 0
          },
          "Branches": []
        }
      }
    }
    
    2 回复  |  直到 6 年前
        1
  •  4
  •   Mate Zabo    6 年前

    如果你想从你的源代码代码覆盖率结果中看到一个漂亮而干净的HTML报告,你应该试试Daniel Palme的 ReportGenerator . 床罩可以产生 cobertura 类型XML report和ReportGenerator可以从中生成HTML报告。 Here 您可以找到一个非常棒的关于如何使用coverlet和ReportGenerator的分步教程。Cobertura报表可以很容易地处理 this 你的CI/CD管道中的Jenkins插件。

        2
  •  3
  •   Felipe Augusto Ak S    6 年前

    我找到了答案,我首先尝试的是使用 docker-dotnet-sonarscanner ,但我无法很好地设置,然后我采用了另一种方法:

    1. 安装 coverlet ,它以多种格式为.Net Core提供了代码覆盖范围: json lcov , opencover cobertura
    2. 安装一个VSCode插件,在那里我可以很好地看到代码覆盖率,它的名字是 coverage-gutters .
    3. 使用coverlet文档上的命令输出代码覆盖率 格式,能与插件一起使用的代码覆盖率。
    4. 额外-使用插件在VSCode上运行测试,而不是在CLI上运行(我没有尝试过),使用 .Net Test Explorer