Ant构建脚本的单元测试和代码覆盖率

3
在我们的开发环境中,我们有越来越多的构建脚本用于ant执行不同的构建任务。这些构建脚本有时会变得很大,并且做了很多事情,基本上就是源代码本身。因此,在“TDD世界”中,我们应该对源代码进行单元测试和覆盖率报告。我找到了AntUnitBuildFileTest.java用于执行单元测试。但是,了解这些单元测试的代码覆盖率也是很有意思的。我已经在谷歌上搜索过了,但是没有找到任何内容。有人知道用于Ant构建脚本的代码覆盖工具吗?
3个回答

2
我最终使用AntUnit对Ant Build脚本进行单元测试。至于覆盖率,我没有找到一个开箱即用的工具/库。我发现一个可能可以使用并适当调整的工具是Antro (https://sourceforge.net/projects/antro/),它的代码位于https://github.com/jkff/antro
Antro是“Ant分析器:Ant构建脚本的行级分析器”。
它使用监听器来收集有关构建脚本运行的数据。
挑战在于尝试将Antunit和Antro结合使用,或者为Antunit创建一个可以像Antro一样收集数据的监听器。
但这也许是一个有趣的挑战 :-)

0

你有没有一个示例,可以用它来测试 build.xml 文件? - pablaasmo

0

我建议查看Sonar进行单元测试和代码覆盖率报告。它还可以运行标准的Java代码分析工具,如Findbugs、Checkstyle和PMD。

抱歉,但我唯一拥有的Stackoverflow示例(启用构建以进行代码覆盖率和单元测试报告)使用cobertura。一个更现代的工具是jacoco。

如需更多指导,请阅读Sonar文档。


我并不考虑从构建脚本中运行xunit测试来测试其他代码。我想测试构建脚本本身,并对这些测试进行代码覆盖率分析。 - pablaasmo
@pablaasmo 但是...创建覆盖率报告的正常方法是运行单元测试。Sonar现在支持基于集成测试的额外覆盖率报告。我理解不愿意包含额外工具的犹豫。个人而言,我强烈推荐使用Sonar,您将永远不会后悔。 - Mark O'Connor
我知道Sonar,但是还没有使用过它。我会再看一下它,看看它是否符合我的需求。谢谢你的回答。 - pablaasmo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接