问题标签 [test-coverage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6272 浏览

testing - 如何衡量 Golang 集成测试覆盖率?

我正在尝试用来go test -cover衡量我正在构建的服务的测试覆盖率。它是一个 REST API,我正在通过旋转它、发出测试 HTTP 请求并查看 HTTP 响应来对其进行测试。这些测试不是服务包的一部分,并go tool cover返回 0% 的测试覆盖率。有没有办法获得实际的测试覆盖率?我希望在给定端点上的最佳案例场景测试能够覆盖特定端点处理程序的至少 30-50% 的代码,并通过添加更多常见错误测试来进一步改进这一点。

0 投票
0 回答
2112 浏览

angularjs - 量角器覆盖不生成报告

我们应用程序的后端位于PHP我们正在使用的前端AngularJs。我们成功地使用protractor.

在为我们的应用程序编写了大量的 e2e 测试之后,我们开始寻找类似于单元测试的覆盖范围。在搜索了很多之后,幸运的是我们找到了https://www.npmjs.com/package/grunt-protractor-coverage,正是我们想要的。

我从http://lkrnac.net/blog/2014/04/measuring-code-coverage-by-protractor/文章中获得了帮助,该文章非常有助于设置一切。我为我的应用程序设置了配置和其他 grunt 任务,最后我们的代码(js 文件)被正确检测。我将其余文件(html、静态等)复制到该检测代码中,并为proractor-config文件提供了正确的路径。测试开始像以前一样运行,但这次是使用检测文件。

到此为止,一切都是OK。但是当coverage-report执行生成任务时,我们发现我们有空coverage.json文件{}。这意味着报告在读取该文件以生成报告时肯定是空的,据我所知,该文件是protractor-coverage在执行测试时由 grunt 任务生成的。3001它使用请求将信息发送到收集器(端口POST:),并且在生成报告时,GET正在向同一个收集器发出请求。

所以,我想的是,没有POST对收集器提出要求。

每次它只显示在此处输入图像描述 它应该列出每个文件的位置:在此处输入图像描述

而且100到处都是误导,我对源代码进行了测试:http: //lkrnac.net/blog/2014/04/measuring-code-coverage-by-protractor/如解释的那样,但即使只有一个 e2e测试,报告必须给出实际数字,而不是直接100给出所有数字。

可能会发生我有一些错误的配置或错过了什么。

以下是我的文件:

还有我的coverage.json文件:

0 投票
2 回答
487 浏览

java - 通过断言对 getter 的代码覆盖

在进行单元测试时,有没有办法仅在某些步骤中启用代码覆盖分析?

我希望测量测试断言部分的代码覆盖率。如果在测试的操作部分或断言部分执行该行,我目前使用的工具不会产生影响。

因此,我无法检查我的 bean 的所有 getter 是否都被 assert 方法读取。理想情况下,我只想在我的一些方法执行期间激活覆盖措施。

代码示例:

目前,我使用的报告工具比 getA 和 getB 都涵盖了。我想要一种方法来检测getB 没有被assertMethod 读取。

我使用 Java 和 IntelliJ,我的测试类遵循 Arrange-Act-Assert 语法。

0 投票
1 回答
521 浏览

erlang - 使用钢筋时来自 Common Test 的覆盖报告

我有一个使用 Rebar 的 Erlang 应用程序,并且有使用 Common Test 编写的测试。我想查看这些测试的测试覆盖率报告,因此我在rebar.config文件中包含了以下行:

但是,Common Test 报告中的“Coverage log”链接只会导致一个页面显示“Cover tool is not used”。我怎样才能让它使用封面工具并在运行测试时给我一份封面报告?

0 投票
1 回答
1385 浏览

android - JaCoCo 调试覆盖率测试报告

我在测试 android 以创建覆盖率测试报告时遇到问题。我使用 ./gradlew createDebugCoverageReport 命令创建覆盖率报告。报告已创建,但所有测试的结果为 %0。第一个设备已植根,但第二个设备没有。我们用这两个设备来测试用勺子和看勺子的输出。所以这两个设备一起使用。问题:当我们使用第一个设备(根设备)运行此命令时,所有覆盖测试结果都按预期创建,但是当我们使用两个设备一起运行测试时,所有覆盖结果都是 %0。我怎么解决这个问题。

谢谢

0 投票
2 回答
10853 浏览

salesforce - 如何为 Messaging.SingleEmailMessage 顶点类编写测试类?

我编写了下面的 Apex 类,它处理发送到电子邮件服务地址的传入电子邮件,并从传入邮件创建一个新任务,然后将此新任务与 salesforce 中的匹配记录相关联。匹配是在记录名称和传入电子邮件主题上完成的。该课程还发送一封电子邮件,通知“分配给”用户他们已收到对他们正在处理的请求的回复。

这在沙盒中非常有效,但我没有编写测试类的经验。谁能建议我如何为以下内容编写测试类?

}

以下是我的尝试,仅获得 24% 的覆盖率。我知道它缺少重要代码,但我对测试类的了解还不够,无法进一步研究。

有人可以帮忙吗?

测试班

0 投票
4 回答
48398 浏览

android - android studio 中的 Jacoco 代码覆盖率

我正在尝试生成 Jacoco 代码覆盖率报告。我已将 AndroidTestCase 用于我的测试类。

我发现使用 testCoverageEnabled true 并使用默认 android -studio default jacoco、./gradlew connectedCheck 或 createDebugCoverageReport 创建成功/失败测试用例的百分比,但没有覆盖率报告。

然后我尝试了 jacoco {toolVersion "0.7.1.201405082137"} 和任务 jacocoTestReport(type:JacocoReport, dependsOn: "testDebug")。我试图通过各种任务更改dependsOn 值。该报告显示 0(零)测试覆盖率,这是不可能的,因为所有类中至少有一半经过测试。

在过去的几天里,我遵循了各种公认的堆栈溢出答案。结果是否定的。

我的毕业文件:

0 投票
0 回答
501 浏览

grails - Grails:Sonar 上缺少 Cobertura XML 报告

我正在使用一个 Web 应用程序Grails 2.1.1,并要求我提供有关测试代码覆盖率的证据。

该项目正在使用:

  • Maven 3.0.5
  • 代码覆盖率 1.2.7(Cobertura 的 grails 插件)
  • 声纳 Maven 插件 2.5
  • SonarQube 3.7.4(在本地主机上运行)

在 mypom.xml上,声明了以下声纳的属性:

我在 target/test-reports/cobertura 目录中成功生成cobertura.xml报告,启动命令:

但是当我运行时:

它没有显示任何关于声纳的测试报告,尽管我收到以下输出行作为命令响应:

0 投票
0 回答
837 浏览

java - 使用 Robolectric 从 Android JUnit 测试覆盖中排除特定方法/构造函数

我目前正在做一个全新的项目并编写一些实用程序,例如StringUtil.java.

我有一个像下面这样的私有构造函数。

Run test... with Coverageandroid studio 中完成后,我的覆盖率不是 100%。因为没有调用私有构造函数。

是否有任何解决方法可以将私有构造函数排除在测量测试覆盖率之外(实际上不调用它)?

0 投票
0 回答
2398 浏览

c - 使用 gcc 构建时如何将 gcno 文件移动到文件夹

我有一个 make 选项指定为

使用上述选项,gcda文件被移动到构建目录,但不是gcno文件......

我们如何将 gcno 文件移动到 build 文件夹?