我们正在从Java 6迁移到Java 8.该应用程序有大约1900多个JavaScript函数,它们运行在Java 6 JS引擎( Rhino )上。很少有JS函数,如" println()"," String - >替换()"在Java 6和Java 8中表现不同。编译JS代码并不能理解这种语义差异;但执行JS代码确实如此。 我们需要编写回归测试套件来运行所有JS代码并测量" JavaScript"代码覆盖以确保所有语句都正常工作。这将是棘手的,因为JavaScript代码通过Java JS引擎符合Java字节代码。
我的问题是:
1)如何在从Java运行时执行时测量JavaScript代码覆盖率?
我们研究过,无法找到任何lib /工具。
我们也在寻找替代方法:将编译后的JavaScript字节码反编译为Java,并将该Java源代码提供给任何Java代码覆盖工具。 (不确定这种方法是否可行;但想尝试一下)
所以我的下一个问题是:
2)如何将JavaScript编译的字节码转换为Java源代码?