当前位置: 首页 > 知识库问答 >
问题:

Emma代码覆盖工具错误-找不到主方法

微生俊材
2023-03-14

我正在使用Emma代码覆盖工具,我有Java8。我是艾玛的新手,可得到的帮助非常少。我尝试使用以下链接。

  1. http://emma.sourceforge.net/intro.html
  2. http://users.csc.calpoly.edu/~jdalbey/309/讲座/emmademo。html

但当我尝试跑步时,我总是会遇到以下错误:

java -cp emma.jar emmarun -jar .../jdk1.4.2/demo/jfc/SwingSet2/SwingSet2.jar 
java -cp TestTools\emma.jar;. emmarun -cp . CircleConverter 

我也尝试了从这里的选项,但没有帮助。

错误是-

CoverageDemo>java -XX:-UseSplitVerifier -cp TestTools\emma.jar;. emmarun -cp . CircleConverter
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option UseSplitVerifier; support was removed in 8.0
EMMA: no coverage data collected at runtime [all reports will be empty]
EMMA: writing [txt] report to [C:\Users\pkothavale\Downloads\CoverageDemo\coverage.txt] ...
[EMMA v2.0, build 4217]
emmarun: [MAIN_METHOD_NOT_FOUND] application class [CircleConverter] does not have a runnable public main() method
Exception in thread "main" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] application class [CircleConverter] does not have a runnable public main() method
        at com.vladium.emma.rt.AppRunner._run(AppRunner.java:497)
        at com.vladium.emma.rt.AppRunner.run(AppRunner.java:97)
        at com.vladium.emma.runCommand.run(runCommand.java:247)
        at emmarun.main(emmarun.java:27)
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 11
Exception Details:

共有1个答案

侯兴为
2023-03-14

其实问题出在这一行:

Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 11

我通过这个链接找到了解决方案:java。lang.VerifyError:在分支目标JDK 1.7处应为stackmap帧

但简而言之,java7引入了更严格的验证,为了禁用它,我们可以添加选项“-XX:-UseSplitVerifier”,如果您使用的是java7,或者“-noverify”,如果您使用的是java8。

因此,java8的正确命令行应该是:

java -noverify -cp emma.jar emmarun -jar .../jdk1.4.2/demo/jfc/SwingSet2/SwingSet2.jar
 类似资料:
  • 问题内容: 是否有用于本机(非托管)代码的免费代码覆盖工具?对于Windows或Linux平台? 问题答案: 来自GNU工具的gcov。

  • 我有一个maven项目(link),我想在上面运行代码覆盖率。 我在主项目pom文件上运行了命令,但没有生成报告。相反,我得到的警告是 有人能建议我如何用这个pom文件生成代码覆盖率报告吗。我正在使用apache-maven-3.3。9和testNG。

  • 到目前为止,我已经在IntelliJ中尝试了几个小时的代码覆盖率测试,但没有成功。 RuntimeException:存根! 现在,我已经读到在模块选项中更改依赖顺序可以修复这个问题。所以在改变顺序后,我得到了这个错误: 它指向下面的代码: 我谷歌了又谷歌,但唉,到目前为止我还没有找到解决方案。

  • 我为iOS编写了测试用例 XcodeCoverage 查找代码覆盖率。现在,我希望对我的android测试用例也这样做。有没有与Android Studio本身兼容的工具 任何建议/参考链接都会很有帮助。

  • 代码覆盖是查找未被测试执行的代码区域的过程。不过要记住的是这并不能说明你测试代码的有效性。 在requirements.txt文件中添加依赖包: coverage==4.4.2 然后,我们在manage.py中新增一个命令: import coverage COV = coverage.coverage( branch=True, include='project/*',

  • 我想使用Antlr创建解析器,我遵循了 这儿呢 在我运行以下命令antlr4-visitor D:\T\算术时,遵循所有指令。g4我收到这个错误消息:错误:无法找到或加载主类组织。安特尔。v4。工具 使用此jar文件:C:\Program Files\Java\lib\antlr-4.6-complete.jar