`
scholers
  • 浏览: 619097 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ant + Junit+ cobertura 单元测试覆盖率问题

阅读更多
   在用Ant + Junit+ cobertura 编译执行代码做单元测试覆盖率的时候
出现如下错误:
Invalid method Code length 68617 in class file .././././.BaseDCTRSSTATable

java.lang.ClassFormatError: Invalid method Code length 68617 in class file .././././.BaseDCTRSSTATable
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at 

  
字面意思是说方法长度无效,本来java虚拟机规范中有规定:方法个数,参数个数,域个数 都有 64k 的限制。
   BaseDCTRSSTATable.java源码超过6千行,但是我对比了下编译生成的class文件,BaseDCTRSSTATable本身没有超过64K,既然本身没有超过64K,那么里面也不可能有方法或者参数超过64K了,但是cobertura 执行的时候,载入class到instrument目录时,BaseDCTRSSTATable文件变大了变成了超过140K,这就不知道为啥了。后来没办法,修改了这个类,拆分了几个方法,才解决了问题。
0
0
分享到:
评论

相关推荐

    Junit+ant+cobertura示例

    总的来说,"Junit+ant+cobertura示例"是一个展示如何使用JUnit进行单元测试,通过Ant进行自动化构建,并利用Cobertura进行代码覆盖率分析的实践案例。这样的组合可以帮助开发者更高效地管理和提升代码质量,确保软件...

    Ant+JUnit+EMMA单元测试覆盖率

    EMMA,它是一个免费、开源的、用来衡量单元测试覆盖度...  EMMA生成的报告类似于Cobertura(另一个功能类似于EMMA的开源工具),请参考:用Ant+JUnit+Cobertura轻松控制单元测试质量:http://ouzhong.blog.hexun.com/323

    cobertura1.9.1

    它能够帮助开发者测量和报告程序代码的测试覆盖率,即多少代码被单元测试执行过。这对于确保软件的质量和可靠性至关重要,因为未经过测试的代码可能会隐藏潜在的错误。 在描述中提到的"ant+junit+cobertura的build....

    junit + ant 自动化测试

    同时,`JUnit`的测试结果可以被`Ant`记录并输出,以便于分析测试覆盖率和失败原因。这样的自动化测试流程不仅节省了手动测试的时间,还能帮助团队尽早发现和修复bug,提升代码质量。 为了进一步扩展这个demo,你...

    Java测试覆盖率工具cobertura1.9

    将Cobertura与Ant结合,开发者可以在执行Ant构建时轻松地添加测试覆盖率检查,无需额外的复杂设置。 Cobertura的使用步骤大致如下: 1. 下载:首先,你需要从官方网站或者提供的压缩包中下载Cobertura的对应版本,...

    cobertura-2.1.1测试案例覆盖率统计工具

    总之,Cobertura作为一款强大的测试覆盖率工具,为Java开发者提供了一种直观的方式来评估测试的质量,并且能促进更全面的单元测试实践。通过熟练使用Cobertura,开发者可以确保他们的代码被充分测试,提高软件的稳定...

    cobertura 1.9.4.1

    **Cobertura 1.9.4.1:单元测试覆盖率工具详解** Cobertura 是一个开源的 Java 代码覆盖率工具,主要用于衡量软件项目中单元测试的覆盖程度。版本 1.9.4.1 是该工具的一个稳定版本,它为开发者提供了详细的信息,...

    JUnit & Ant

    4. 覆盖率工具:结合JaCoCo或Cobertura,可以获取测试覆盖率报告,进一步提升测试质量。 总之,JUnit与Ant的结合使用能有效提高Java项目的测试效率和质量,通过自动化测试和构建,确保软件的稳定性和可靠性。同时,...

    cobertura

    3. 集成测试框架:Cobertura可以与JUnit、TestNG等测试框架配合使用,确保在测试运行时收集覆盖率数据。 4. 在Eclipse中运行Ant任务:通过Eclipse的Ant视图运行配置好的构建文件,执行测试并生成覆盖率报告。 5. ...

    自动化测试系列五 ANT

    此外,ANT可以生成测试覆盖率报告,如Cobertura或JaCoCo,帮助开发者了解测试覆盖了多少代码。这对于优化测试策略,确保所有关键路径都被测试到,非常有帮助。 在实际应用中,ANT还可以与其他工具如Maven或Gradle...

    Java Cobertura

    其中,测试覆盖率是衡量代码质量的关键指标之一。Cobertura是一款开源的Java代码覆盖率工具,它能够帮助开发者了解哪些部分的代码已经被测试覆盖,哪些部分还需要进一步编写测试用例。 #### 二、Cobertura简介 ...

    cobertura-1.9.4.1-src.zip

    Cobertura是一款开源的Java代码覆盖率工具,它用于测量Java程序单元测试的覆盖率。这个"cobertura-1.9.4.1-src.zip"压缩包包含的是Cobertura 1.9.4.1版本的源代码。源代码是任何软件开发的基础,它允许开发者深入...

    cobertura-1.9.4.1-bin.zip

    Cobertura 是一个用于 Java 代码覆盖率测试的工具,它能够帮助开发者测量和跟踪他们的源代码有多少被单元测试覆盖。 在描述 "cobertura-1.9.4.1-bin.zip" 中,没有额外的具体信息,但我们可以推断这可能是一个 ZIP ...

    一种Java代码覆盖率工具的应用研究.zip

    在项目中集成JaCoCo,可以设置最小覆盖率阈值,当测试覆盖率低于该阈值时,构建失败。此外,JaCoCo还可以与其他测试框架(如JUnit、TestNG)结合,实时展示覆盖率。 4. **代码覆盖率的重要性**:高覆盖率并不意味着...

    让开发自动化:持续测试

    本文将介绍如何使用Ant进行JUnit测试,结合DbUnit执行组件测试,利用JUnitPerf分析性能瓶颈,以及运用Selenium进行Web功能测试,同时还将展示如何借助Cobertura计算代码覆盖率和CruiseControl实现持续集成。...

    Juint 部署步骤

    Cobertura是一个常用的Java代码覆盖率工具。配置Cobertura通常涉及到修改Ant脚本,例如`cobertura/build.xml`。执行这个脚本,你可以得到关于测试覆盖的详细报告。 - 首先,确保Cobertura库已经添加到工程的构建...

    代码质量控制插件于eclipse3.4.2版本中的安装详解--coverlipse0.9.6

    Cobertura 也提供一个 Ant 任务和 Maven 插件,但用 Cobertura,您可以在编写代码时 评估代码覆盖率。您见过这样的模式吗? 通过选择 Eclipse 菜单项 Run 安装 Coverlipse 插件并将其和 JUnit 关联起来,该操作会...

    example-soapui-junit:演示如何从 JUnit 运行 SoapUI 测试的示例项目

    8. **代码覆盖率**:在Java测试中,代码覆盖率工具(如JaCoCo或Cobertura)可以帮助我们了解测试覆盖了多少代码,这对于保证测试的全面性很重要。 9. **错误处理和日志记录**:在执行测试时,理解如何正确处理错误...

Global site tag (gtag.js) - Google Analytics