没有检测的Java代码覆盖率

Ben*_*cha 5 java code-coverage

我正在尝试找出哪种工具用于获取在稳定环境中运行的项目的代码覆盖率信息.这些项目被部署为战争并在Jboss上运行.在运行与正在运行的服务器交互的手动/自动化测试时,我需要服务器端覆盖.让我们假设我不能改变项目的构建,因此不能在构建过程中将任何类型的工具添加到他们的jar中.我也无法访问代码.

我已经对各种工具进行了一些阅读,他们都提出了涉及在装配上检测罐子的技术(BTW - 不会影响生产,或者生成两种输出?)JaCoCo的一个工具提到"on-飞行仪表"功能.有人可以解释这是什么意思吗?这可以帮助我解决我的局限吗?我也听说过使用运行时分析技术进行代码覆盖 - 有人可以帮助解决这个问题吗?

谢谢,本

JB *_*zet 2

您不需要更改构建,甚至不需要访问代码来检测类。只需检测在交付的 jar 中找到的类,重新 jar 并使用检测的 jar 重新部署应用程序即可。

Cobertura 甚至有一个 ant 任务可以为您完成此任务:它需要一个 war 文件,在 war 内的 jar 内检测类,并重建一个新的 war 文件。请参阅https://github.com/cobertura/cobertura/wiki/Ant-Task-Reference

回答关于在构建时检测 jar 的问题:是的,当然,检测的类不会在生产中使用。它们仅用于测试。