【问题标题】:How to get code coverage report when I run tests using java language which tests Go Project code?当我使用测试 Go Project 代码的 java 语言运行测试时,如何获得代码覆盖率报告?
【发布时间】:2018-11-15 12:56:42
【问题描述】:

我对 Go 中的集成测试有一个非常特殊的要求。在过去的几天里,我阅读了许多博客,但我无法找到解决此问题的方法。如果您在下面做了任何事情,请与我分享。

基础设施细节:

  • Go 项目启动并运行
  • 让我的自动化框架用 JAVA 编写

我的确切要求是:

  1. 我必须检测 Go 代码并使 Go 代码运行
  2. 执行我的 java 自动化代码
  3. 停止 Go 代码/从 Go 获取代码覆盖率报告

提前致谢!!

【问题讨论】:

  • 不确定您在说什么,但这对您有用吗? github.com/jstemmer/go-junit-report
  • 不,您正在为单元测试用例提供解决方案,并且有很多方法可以做到这一点。我在这里从 Java Testng 代码中获取关于 GO 的集成测试

标签: go code-coverage test-coverage


【解决方案1】:
  1. 将您的 Go 代码作为测试写入包目录下的文件 ending_test 中

  2. $ go test --coverprofile outfile 运行 Go 测试。如果它需要作为服务器运行,则添加一些代码以使其超时

  3. 运行额外的 Java 代码

  4. 等待超时

  5. 使用$ go tool cover -html=outfile -o cover.html之类的命令查看覆盖率分析

【讨论】:

    【解决方案2】:

    goc 工具应该可以满足你的需求,基本上只需要三个步骤:

    1. 通过goc server 命令启动服务注册中心
    2. 使用 goc build . 构建您的 Go 代码并执行生成的二进制文件,该二进制文件会将自己注册到上面的注册表中心
    3. 执行您的自动化代码,然后您可以随时使用goc profile 获取代码覆盖率概况

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 2016-12-07
      • 2018-07-25
      相关资源
      最近更新 更多