我们有一个应用程序部署在JBoss 5.1,JDK 1.6上。我们还编写了PowerShell脚本进行测试。这些脚本使用Web服务访问应用程序。
我想要检查脚本的代码覆盖率。你有什么建议吗?我看到大多数工具都是检查JUnit测试覆盖率,但我不知道如何使用它们。
我想要检查脚本的代码覆盖率。你有什么建议吗?我看到大多数工具都是检查JUnit测试覆盖率,但我不知道如何使用它们。
我有使用 HttpUnit/HtmlUnit/Empirix/Rational Robot 的自动化测试,可以使用 Cobertura 吗?
可以!虽然过程会比较复杂,但概念是相同的。首先对编译后的类进行仪器化。然后创建你的 war 文件。接着将 war 文件部署到应用服务器中(如 Tomcat、JBoss、WebLogic、WebSphere 等)。现在运行你的测试。
当你的类被访问时,它们会在磁盘上创建一个 "cobertura.ser" 文件。你可能需要搜索一下才能找到它。Cobertura 将该文件放在其认为是当前工作目录的位置。通常这是应用服务器启动的目录(例如 C:\Tomcat\bin)。注意:该文件直到应用服务器退出才会被写入磁盘。请参阅下文以了解如何解决此问题。
现在你知道 cobertura.ser 文件的位置,应该修改你的部署步骤,使其将原始的 cobertura.ser 移动到应用服务器中的适当目录,然后在测试完成后将其移回来。然后运行 cobertura-report。
[...]
对于 Emma,文档 上写着:
3.11. 我如何在{WebLogic,Websphere,Tomcat,JBoss等}中使用EMMA? 首先,您很难在完整的J2EE容器中使用即时模式(emmarun)。原因在于许多J2EE功能需要专门的类加载,将在EMMA进行类加载器之外发生。服务器可能运行良好,但您可能无法获得覆盖数据。