如何跟踪谁创建了JUnit测试以及何时使用Eclipse?如何根据这些信息创建统计数据?

时间:2011-08-08 13:57:36

标签: eclipse junit

在我正在工作的Java项目中(与8个开发团队一起),我们有大量积压的功能,缺乏自动化测试。我们正在报道这个积压工作,我们需要跟踪谁写了一个JUnit测试以及何时,我们必须测量我们在一周/月/学期中作为一个团队编写的测试数量(你可能已经想到了,这个信息用于管理目的)。我们认为我们通过用我们需要的信息(作者,创建日期)标记测试来做这件事,让Eclipse完成处理工作,向我们展示我们编写的测试,谁写了我们以及我们达到目标的程度。你怎么会聪明的人这样做?你会用什么插件?

我尝试使用Eclipse自定义标签,但这不是该功能的目的,我得到的结果有点脆弱。我创建了一个标记测试方法的TEST标记。它看起来像这样:(日期是mm-dd-yyyy)

// TEST my.name 08-06-2011

由于Eclipse通过子串处理(包含/不包含)来处理标记描述,因此,正如我所说,它非常脆弱。我可以为标签添加时间戳,但它只是一个字符串。 Eclipse无法将其作为日期处理,比较日期,按日期间隔过滤,类似的东西。

我搜索插件,但没有骰子。

我的B计划是使用我们需要的信息创建一个Annotation,并使用Eclipse Annotation Processing Tool处理我们的测试包。不过,我还没有在这方面做过任何尝试,只是一个想法。任何人都知道这种注释处理的好插件?或任何处理Eclipse APT的初学者技巧。

非常感谢,伙计们

1 个答案:

答案 0 :(得分:1)

我不会为此使用Eclipse。

您的团队应该将测试检查到版本控制系统,例如Subversion,Git,Team Foundation Server等。从那里确定所有者和签入时间应该是相当简单的事情。您可以 在每次构建期间执行此类指标计算。更好的是,确保您的构建脚本实际运行您的测试,并使用EMMA等工具来检测代码并确定实际覆盖率。

作为衡量覆盖率的后备,如果您选择命名约定,那么您甚至可以通过文件名将测试类关联回测试中的功能。

许多现代构建系统,例如CruiseControl,都可以很好地集成这些东西。