2011-05-10 44 views
1

我刚刚开始研究现有的grails项目,其中有很多代码编写,测试覆盖的代码并不多。该项目使用Hudson与Cobertura插件很不错。正如我正在经历的事情,我注意到,即使没有为代码编写特定的测试类,它仍然被覆盖。有没有简单的方法可以查看哪些测试覆盖了代码?如果我能够知道这些信息,它会为我节省一些时间。 谢谢Grails,Hudson和Cobertura,哪些测试覆盖了我的代码?

回答

0

你想要做的是收集每个测试的测试覆盖率数据。然后,当一些代码块没有通过测试时,您可以追溯到测试。

你需要一个测试覆盖工具,它将做到这一点; AFAIK,这是直接组织。只需运行一次测试并收集测试覆盖率数据。

但是,大多数人也想知道,所有测试的应用覆盖范围是什么?你可以运行两次测试,一次得到这个测试覆盖信息,然后整个批处理得到什么是这个批次覆盖。一些工具(ours included)可以让您将单个测试的覆盖范围结合起来,从而为套件生成协同工作,因此您不必两次运行它们。

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

相关问题