【问题标题】:Code Coverage with Jenkins [closed]Jenkins 的代码覆盖率[关闭]
【发布时间】:2013-06-15 09:31:59
【问题描述】:

我被要求使用 Jenkins 来测试 Java 项目的代码覆盖率。问题是我从未使用过 Jenkins,并且在实际代码覆盖方面几乎没有经验。我一直在搜索,我遇到了 JaCoCo 和 Cobertura 作为插头。问题是在这一点上谈论他们的一切都在我的头上。我的问题是,据我了解,Jenkins 和 JaCoCo/Cobertura 用于运行测试(Junit?),并报告处理我的代码的情况,但他们从哪里获得测试?显然我应该制作它们,但是这些是什么类型的文件(又是 Junit?)以及工具如何获取它们?

如果您觉得大方,有没有关于这些工具的入门级教程?

【问题讨论】:

    标签: java jenkins code-coverage cobertura jacoco


    【解决方案1】:

    也许可以试试看这个方向:

    • 愿你的项目成为maven项目
    • 使用 Jenkins(你已经这样做了)
    • 使用声纳

    声纳

    有很多关于如何使用 Jenkins+Sonar 的教程,所以我想你不会有太多麻烦。声纳是非常强大的工具,是迄今为止我见过的最好的工具之一。并且有一个 Jenkins 插件(但可以通过 maven 项目的 pom.xml 文件中的某些 profile 来避免)。

    【讨论】:

    • 什么是maven?什么是声纳?
    • 谷歌行家。对于声纳,我给了你链接。它是一个工具,可以为您提供有关代码的各种数据、查找错误、计算测试覆盖率、计算代码的美感等......
    • 好吧,这听起来不错,一切都由你来做,但这并不能完全回答我的问题。他们如何获得测试?我想我写了类似函数 testCode() {assertTrue(func(x), y)} 之类的东西,作为 Java 文件的一部分,但是 Sonar 怎么知道这是一个 Junit 测试或任何类型的测试?
    • JUnit 测试将为您做到这一点。如果断言失败詹金斯会知道这一点(你不必在那里做任何事情)。 Jenkins 将使用适当的命令运行 JUnit 测试并将这些结果转发给声纳。在我的示例中,Jenkins 将调用某个 maven 命令,该命令将从项目的用于测试的主 pom.xml 文件中调用某个配置文件。这并不容易,您需要花费数小时进行设置,但一旦设置好,您就不必再这样做了。
    • 您是否知道贯穿整个过程的教程,从编写 JUnit 到 Jenkins 的覆盖率报告?
    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 2017-05-31
    • 2013-04-16
    • 2011-03-02
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多