我将 Cobertura 与我的项目集成,它按预期工作。但是,我不确定将哪些 Cobertura 工件签入到 SVN。
目录结构类似于:
- 主项目目录
- cobertura.ser
- cobertura目录
- css目录
- 图像目录
- 检测目录
- js
- 报告
- 大量的 html 文件
coberturaDir 中只有超过 1 MEG 的空间,签入该目录对于将来的提交似乎很麻烦。
我的目标是跟踪项目和每个班级的总数。
在 cobertura 工件中,我应该对 SVN 做出什么承诺?
谢谢,肖恩
他们都没有。
您应该能够通过指向版本控制系统中的旧版本来重新生成 Cobertura 报告。由于报告是软件版本的衍生产品,因此无需存储它们。这与适用于生成的文档(javadoc、doxygen)和从源代码生成的二进制文件(jars、exes、类文件)的原理相同。
如果您需要历史记录,我建议将报告保存在版本控制之外,例如文件服务器。然后,您可以将旧的报告目录压缩到 ZIP 或 tarball 中,以便它们可用,但存档以减少空间并使查找最新数据更容易。您还可以获取最重要的度量和指标并将它们放入单个文件(例如电子表格)中,然后将其放入文件服务器中。
就像托马斯欧文斯说的:没有一个。
啊,你说。我希望能够看到结果并保存它们。我希望能够将它们链接回开发人员,并查看我的测试覆盖率如何随时间变化。
在这种情况下,请使用像Jenkins这样的持续集成系统。Jenkins 可以检查基于 XML 的 Cobertura 覆盖率报告并将它们显示为图表。它可以在每次构建时保存这些图表。每个构建都会向您显示谁进行了触发构建的提交以及自上次构建以来覆盖范围的变化。您甚至可以玩CI 游戏并向创建单元测试以扩大覆盖范围的开发人员奖励积分。(一等奖是凯迪拉克Eldorado。二等奖是一套牛排刀,三等奖是你被解雇了。)
Jenkins 的设置和工作非常简单。您需要下载 Cobertura 插件,这很容易做到。它会做您想做的事,而无需签入您的 Cobertura 文件。