Cobertura 显示覆盖率 0%

2024-05-05

我使用 Cobertura 1.9.3 与 NetBeans 6.8、Ant 1.7.1 和 JDK 1.6.0_21 一起运行 -WAR、EJB、JUnit 4 测试。

当我改变线路时pathelement location="${build.classes.dir}" / to pathelement location="${build.test.classes.dir}" /,html 报告中显示了一些覆盖范围(尽管在错误的类中,但它不应该在测试类中,只是为了表明环境和 .jar 位置设置正确)。

然而,当我把它改回pathelement location="${build.classes.dir}" /,我总是得到 0% 的覆盖率。

fwiw,当检测文件夹确实包含检测类时${build.instrumented.dir}(这些类比${build.classes.dir}地点)。是的,我删除后重试了cobertura.ser从上一次运行开始。

我能知道出了什么问题吗?

Cheers,

片段build.xml in a -ejb folder.

           <property environment="env"/>
           <path id="cobertura.class.path">
               <fileset dir="${build.dir}/../../lib">
                   <include name="**/*.jar"/>
               </fileset>
           </path>
           <taskdef classpathref="cobertura.class.path" resource="tasks.properties"/>

           <target name="-pre-compile-test">
               <delete dir="${build.instrumented.dir}" />
               <delete dir="${build.report.cobertura.dir}" />
               <mkdir dir="${build.instrumented.dir}" />
               <mkdir dir="${build.report.cobertura.dir}" />
               <cobertura-instrument todir="${build.instrumented.dir}" classpathref="cobertura.class.path">
                   <ignore regex="org.apache.log4j.*" />
                   <includeClasses regex=".*" />
                   <excludeClasses regex=".*\.Test.*" />
                   <excludeClasses regex=".*\.TestSuite.*" />

                   <instrumentationClasspath>
                       <pathelement location="${build.classes.dir}" />
                   </instrumentationClasspath>
               </cobertura-instrument>
           </target>

           <target name="-post-test-run">
               <cobertura-report format="html" srcdir="${src.dir}" destdir="${build.report.cobertura.dir}"/>
               <cobertura-report format="xml" srcdir="${src.dir}" destdir="${build.report.cobertura.dir}"/>
           </target>

===

编辑:我还进行了以下设置:

        ...
        build.test.classes.dir=${build.dir}/test/classes
        build.test.results.dir=${build.dir}/test/results
        build.instrumented.dir=${build.dir}/instrumented
        build.report.dir=${build.dir}/report
        build.report.cobertura.dir=${build.report.dir}/cobertura
        ...
        javac.classpath=\
        ${libs.GlassFish_v3.classpath}:\
        ${file.reference.mysql-connector-java-5.1.13-bin.jar}
        ...
        javac.test.classpath=\
        ${javac.classpath}:\
        ${file.reference.mysql-connector-java-5.1.13-bin.jar}:\
        ${libs.Libraries_Needed_For_JUnit.classpath}:\
        ${build.instrumented.dir}:\
        ${build.classes.dir}:\
        ${libs.junit_4.classpath}
        ...
        run.test.classpath=\
        ${javac.test.classpath}:\
        ${file.reference.mysql-connector-java-5.1.13-bin.jar}:\
        ${libs.Cobertura.classpath}:\
        ${libs.Libraries_Needed_For_JUnit.classpath}:\
        ${libs.junit_4.classpath}:\
        ${build.test.classes.dir}
        ...
        src.dir=${source.root}/java
        test.src.dir=test

覆盖率为 0% 的唯一情况是

  • 当您没有正确设置类路径时,您的测试将是 针对未检测的代码运行,或者,
  • 您的 .ser(元数据)文件已过时,每当您构建/重建代码时,您应该再次删除现有的元数据文件和工具。

有关类路径的一个很好的示例,请参阅此处https://github.com/cobertura/cobertura/wiki/Ant-Task-Reference https://github.com/cobertura/cobertura/wiki/Ant-Task-Reference

另外,最好将检测类保存在单独的文件夹中,并为测试类指定不同的文件夹。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cobertura 显示覆盖率 0% 的相关文章

  • 在 netBeans 中运行程序时,字体看起来非常奇怪

    我在我的新 MacBook M1 上设置了 netBeans 和 SceneBuilder 除了运行程序时的字体外 一切正常 它看起来像这样 我不知道为什么 按钮应显示 Click me 标签应显示 Hello 我收到的错误消息是 M rz
  • Java Logger 未记录到 Netbeans 中的输出

    我正在 Netbeans 中使用 Maven 启动一个 Java 项目 我编写了一些代码来使用 Logger 类进行日志记录 但是 日志记录似乎不起作用 在程序开始时 我运行 Logger getLogger ProjectMainClas
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • Maven 不会运行测试

    跑步时mvn testmaven 不会运行所有测试类 当我通过添加显式提供一个类时 Dtest PropertyTests将运行测试 这是我的 pom xml
  • 用于折叠/展开方法的 NetBeans 快捷键

    这是一个 IDE 问题 我总是使用折叠的方法 因为我希望能够一起看到我的方法 这有点耗时 因为我必须使用鼠标向上滚动到方法的声明 然后单击 减号 图标 然后分别转到我想要处理的方法并单击 加号 图标 有没有办法通过键盘快捷键来折叠 以及分别
  • 有条件地忽略 JUnit 4 中的测试

    好的 所以 Ignore注释适合标记不应运行的测试用例 但是 有时我想忽略基于运行时信息的测试 例如 如果我有一个并发测试 需要在具有一定数量核心的计算机上运行 如果这个测试在单处理器机器上运行 我认为仅仅通过测试是不正确的 因为它还没有运
  • ServletContext getContextPath()

    我检查了我的 Netbeans 项目中包含的 Tomcat 库的 javadoc 当我部署代码时工作正常 但是当我对我的 Web 项目进行全新构建时 我在 getContextPath 上收到 找不到符号 ServletContext接口的
  • 运行使用wiremock存根的多个测试用例时“选择器循环等待选择”

    我在用着wiremock http wiremock org 用于模拟网络服务 我使用它来提供对我们正在测试的某些单元的服务访问 所以基本上我们有多个junit测试 它们使用来自wiremock的存根 但是 当我们一次运行多个测试 假设运行
  • 尝试使用JavaConfig在Spring中编写junit测试

    我正在尝试为我的示例项目编写一个 junit 测试 但不知道如何访问 jUnit 测试中的 ApplicationContext 这是该项目的主要类 public static void main String args in this s
  • 有 JUnit Attachments Jenkins 插件工作的示例吗?

    在过去一个小时左右的时间里 我一直在努力让以下工作正常进行 我将附件存储在目标目录中 但它们在班级级别或测试级别的测试页面上都没有链接 我尝试了以下每种组合 放置附件文件夹target surefire reports class 与目标
  • Netbeans 自动完成功能停止工作?

    我使用的是 Netbeans 6 9 1 一切都很好 但是突然间 它停止检测对代码所做的任何更改 例如新变量 函数等 如果我尝试重构 重命名变量 例如按 CTRL R 它说 重构在此上下文中不可用 如果重要的话 它在 PHP 项目中 有任何
  • 无法在 NetBeans 7.4rc1 上安装 nb-scala

    我已经安装了 NB 7 4rc1 并从下载了 nb scalahttp sourceforge net projects erlybird files nb scala http sourceforge net projects erlyb
  • 升级到 Tomcat 8 时出现 ClassNotFoundException

    我最近将 NetBeans IDE 从 v7 3 升级到 v8 突然我的应用程序在连接到数据库时在服务器启动时抛出异常 这两个版本的 IDE 之间的唯一区别是后者使用 Tomcat 8 异常日志 javax naming NamingExc
  • Maven/Junit 并行执行 - Cucumber-JVM v4.0.0

    我正在努力获取与 JUnit Maven 一起使用的 Cucumber JVM v4 0 0 的新并行执行功能 作为指定here https github com cucumber cucumber jvm tree v4 0 0 juni
  • Eclipse 优化导入以包含静态成员和方法

    长期使用 eclipse 和 Java 我在 Eclipse 中发现的一个问题是 似乎没有一种简单的方法来导入静态成员和方法 即 jUnitfail 方法来自org junit Assert 我每天创建几个类 然后手动添加 import s
  • Java Junit 测试 HTTP POST 请求

    我需要测试以下方法而不改变方法本身 该方法向服务器发出 POST 方法 但我需要制作一个独立于服务器的测试用例 在将其重定向到本地文件之前 我测试了类似的方法 但为此我将协议指定为文件 主机名指定为 localhost 端口指定为 1 我的
  • Junit Mockito 测试一切

    我现在正在寻找更多时间但没有结果 请帮忙 这是我要测试的课程 public class DBSelectSchema extends Database private static final Logger LOG Logger getLo
  • Git 从 Netbeans 推送到 Gerrit

    我在将提交从 Netbeans 7 4 在 Linux 上 推送到 Gerrit 进行审查时遇到问题 我的git配置 core repositoryformatversion 0 filemode true logallrefupdates
  • Maven 未运行 Spring Boot 测试

    我有一个要测试的 Spring Boot REST API 我可以在 Eclipse 中手动运行测试 无需 Maven 并通过将应用程序作为 JUnit 测试运行 它运行良好并显示结果 但是mvn test正如您将在下面发现的那样 它不起作
  • 使用 Junit5 对 LiveDataobserverForever 进行单元测试会导致 NullPointer 异常

    我正在使用 Android 数据绑定来监听实时数据更改 并且我想观察视图模型级别的更改 而不是观察片段 然后向视图模型发送回调 这observerForever很有趣 因为它对我有用 但是 当我运行测试时 出现以下错误 java lang

随机推荐

  • 使用 Ansible 配置 EC2 实例时遇到问题

    我对如何使用 Ansible 启动 EC2 实例感到非常困惑 我正在尝试使用 ec2 py 库存脚本 我不确定应该使用哪一个 因为 Ansible 安装了三个 ansible lib ansible module utils ec2 py
  • Jquery simplemodal 关闭现有模态并打开一个新模态?

    好的 所以所有模态框的右上角都已经有一个图像来关闭它们 我怎样才能另外制作另一个锚来做同样的事情 我认为我可以使用默认为 simplemodal close 的 closeClass 选项 然后将该类添加到锚点 但它没有达到预期的效果 这是
  • 奇怪的 MSC 8.0 错误:“ESP 的值未在函数调用中正确保存...”

    我们最近尝试将一些 Visual Studio 项目分解为库 并且在测试项目中一切似乎都编译和构建得很好 其中一个库项目作为依赖项 然而 尝试运行该应用程序给我们带来了以下令人讨厌的运行时错误消息 运行时检查失败 0 ESP 的值未在函数调
  • Android TV 嵌入 youtube 1080p

    我想在我的 Android TV 应用程序上显示一些 YouTube 视频 我试图移植一些我已经在手机上运行的东西 但我使用 YouTube Android API 播放器 这似乎不适用于 Android TV 我找到了这个https co
  • Activity 在 Android 上创建两次

    首先 我是 Android 开发新手 所以请耐心等待 我将从用户界面开始 我有一个按钮 一旦您点击它 就会启动一个活动以获取结果 public class GUIActivity extends Activity Override publ
  • 如何检查一个盒子是否适合另一个盒子(允许任何旋转)

    假设我有两个盒子 每个盒子都是一个长方体 http en wikipedia org wiki Rectangular cuboid aka长方体 我需要编写一个函数来决定盒子是否具有尺寸 一 二 三 可以装入具有尺寸的盒子中 甲 乙 丙
  • 错误:将构建上传到 iTunes Connect 时,Swift 支持无效

    我正在提交 TestFlight 发行版的第一个版本 但收到以下错误 位码已关闭 其他答案似乎相当旧 所以我想我会在 2018 年重新询问 无效的 Swift 支持 文件 libswiftDarwin dylib libswiftMetal
  • 扫描图像到可读文本

    我想知道是否有一种方法可以通过编写代码来将带有文本的扫描图像转换为可读文本 那可能吗 OCRTools http www ocrtools com是我用于 net 的 对于Java 我用过Aspire http asprise com pr
  • HIVE 执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1

    我在创建配置单元数据库时收到以下错误 FAILED 执行错误 从 org apache hadoop hive ql exec DDLTask 返回代码 1 com facebook fb303 FacebookService Iface
  • 将内部联接和 where 子句添加到 INSERT INTO ON DUPLICATE KEY UPDATE

    我从 INSERT INTO ON DUPLICATE KEY UPDATE MySQL 语句开始 INSERT INTO Table1 field1 field2 VALUES 1 2 ON DUPLICATE KEY UPDATE fi
  • 角度模态弹出窗口中的范围问题

    我的页面上有一个模式弹出窗口 模式弹出窗口使用引导角度库 在模式的主体内部 我有一个带有 ng model 属性的文本框 按下 确定 按钮后 我想使用该文本框值
  • 有没有 C# 到 C 的转换工具? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道 C 与 NET Framework 不同 C 是一种符合 ECMA ECMA 334 和 ISO
  • 如何提取Python代码文件中使用的函数?

    我想创建代码文件中使用的所有函数的列表 例如 如果我们在名为 add random py 的文件中有以下代码 import numpy as np from numpy import linalg def foo print np rand
  • C++ 中的 Ofstream 数组

    我想要在我的项目中使用 41 个输出文件来在其上写入文本 首先创建一个字符串数组list为了命名这些输出文件 然后我尝试定义一个 ofstream 对象数组并使用list命名它们 但我收到此错误 outfile cannot be used
  • 重写 AngularJs DatePicker 弹出窗口以添加新标题

    这个问题说明了一切 我已经搜寻过高低 但没有找到办法 但是 在我破解模板之前 我想我会在这里问 只是为了说清楚 我希望能够在日期选择器的顶部添加一些文本 这是一个弹出窗口 如果这有什么区别的话 例如 你的生日是什么时候 如果您遵循本主题 有
  • 使列在引导程序中固定位置

    使用 Bootstrap 我有一个网格列 class col lg 3 我想将其放置在位置 固定 而另一个 col lg 9 是正常位置 可滚动页面 div class row div class col lg 3 Fixed conten
  • 为什么我在使用 MVC4 时会收到“无效的对象名称 'dbo.*'”错误?

    我收到此错误 对象名称 dbo ImageMetas 无效 在这一行 返回视图 db Images ToList 我的数据库上下文如下所示 public class GalleryContext DbContext public Galle
  • 如何检查多个变量是否等于同一值?

    如何比较多个项目 例如 我希望检查所有变量 A B 和 C 是否都等于字符 X 或所有三个变量都等于 O 如果其中 2 个为 X 1 个为 O 则应返回 false I tried if A B C X A B C O Do whateve
  • 如何在 VB.NET 中单击按钮切换表单语言?

    我想创建本地化应用程序并想要实现语言切换器 例如特殊按钮 我使用 Visual Studio 2010 Express VB NET 我创建了带有一个标签和一个按钮的简单测试应用程序 我将表单的属性 Localized 设置为 True 并
  • Cobertura 显示覆盖率 0%

    我使用 Cobertura 1 9 3 与 NetBeans 6 8 Ant 1 7 1 和 JDK 1 6 0 21 一起运行 WAR EJB JUnit 4 测试 当我改变线路时pathelement location build cl