【问题标题】:Grails, Hudson, and Cobertura, which tests are covering my code?Grails、Hudson 和 Cobertura,哪些测试涵盖了我的代码?
【发布时间】:2011-08-22 16:56:24
【问题描述】:

我刚开始研究一个现有的 grails 项目,其中编写了很多代码,而测试涵盖的内容不多。该项目使用 Hudson 和 Cobertura 插件,这很好。当我经历一些事情时,我注意到即使没有为代码编写特定的测试类,它也被覆盖了。有什么简单的方法可以查看哪些测试覆盖了代码?如果我能够知道这些信息,那将节省我一点时间。 谢谢

【问题讨论】:

    标签: testing grails hudson code-coverage cobertura


    【解决方案1】:

    您要做的是收集每个测试的测试覆盖率数据。然后,当某个代码块没有被测试执行时,您可以将其追溯到测试。

    您需要一个测试覆盖率工具来做到这一点; AFAIK,这很容易组织。只需运行一项测试并收集测试覆盖率数据。

    但是,大多数人也想知道,在给定所有测试的情况下,应用程序的覆盖范围是多少?您可以运行测试两次,一次是为了获取 what-does-this-test-cover 信息,然后是整个批次以获取 what-does-the-batch-cover。一些工具 (ours included) 可以让您结合各个测试的覆盖率,为集合生成覆盖率,因此您不必运行两次。

    我们的工具有一个很好的附加功能:如果您收集特定于测试的覆盖率,当您修改代码时,该工具可以告诉您哪些单独的测试需要重新运行。为此,您需要编写一些简单的脚本,以便将更改源的检测数据的结果与每个测试的结果进行比较。

    【讨论】:

      猜你喜欢
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多