我不确定这是否可行,但我想要一些方法来获取在 Quick Test 中为我们基于 GWT 的 Web 应用程序编写的测试的代码覆盖率信息。
似乎没有任何解决方案,因为 Quick Test Pro 测试是针对 GWT 编译的应用程序进行测试,而不是针对编写应用程序的原始 Java 代码进行测试。我想我可以获得 GWT 编译器创建的 javascript 的覆盖率数据,但我(据我所知)无法将此信息映射回原始 java 代码。
有没有办法做到这一点?
我不确定这是否可行,但我想要一些方法来获取在 Quick Test 中为我们基于 GWT 的 Web 应用程序编写的测试的代码覆盖率信息。
似乎没有任何解决方案,因为 Quick Test Pro 测试是针对 GWT 编译的应用程序进行测试,而不是针对编写应用程序的原始 Java 代码进行测试。我想我可以获得 GWT 编译器创建的 javascript 的覆盖率数据,但我(据我所知)无法将此信息映射回原始 java 代码。
有没有办法做到这一点?
不,因为您不想测试 GWT(或 GWT 编译器):您想测试自己的代码。因此,您应该通过正常的单元测试获得良好的覆盖率,并且只测试您无法使用快速测试以这种方式测试的内容。
如果我理解这个问题,您使用 Java 编写代码,GWT 将其转换为 JavaScript,并且您想要通过运行 GWT 编译器版本获得的 Java 程序的覆盖率信息?
如果是这样,有办法做到这一点。我们的SD Java 测试覆盖率工具检测 Java 源代码以收集其覆盖率数据。
如果您运行我们的 SD 测试覆盖率工具,您将得到检测的 Java 代码。如果您使用 GWT 编译并运行它,则仪器仍将收集数据,就好像程序以 Java 运行一样。
检测在运行时构建一个简单的布尔数组。通常,被检测的 Java 程序在“退出”时将其转储到文件中(对于“退出”的各种定义)。转储逻辑非常简单(遍历数组并写入值)并且可以自定义。为 Javascript 代码编写等价的代码应该很容易。
使用导出的检测数据,我们的 SD Java 测试覆盖率工具将在您的原始源代码上显示您的测试覆盖率,就好像您已经执行了 Java 代码本身一样。这将是准确的。