是否可以在启动应用程序(或应用程序服务器)之前将代理或其他东西连接到 jvm,并有一个报告显示类路径中的代码库对于给定的用例实际执行了多少?我想弄清楚我在一个不使用许多 j2ee 技术(如 JCA、JMS、CMP 等)的应用服务器中运行的简单 servlet 应用程序有多少未执行的代码。
最好的问候, 比伦特·埃德米尔
您正在寻找的是一个代码覆盖工具。
对于 Java,我在EMMA方面取得了很大的成功。您应该知道,任何代码覆盖工具都可能显着影响性能——通常它用于单元测试,以检查您的单元测试是否命中了代码的适当部分。不过,您也可以将其用于 Web 应用程序的测试运行——我只是建议不要将其用于生产部署。
我更喜欢cobertura而不是 EMMA。至少当我使用 EMMA 时,它会产生一些假阴性(实际执行的行但它说它们没有执行)。EMMA 可能已经解决了这个问题。