testing - 没有检测的代码覆盖率

标签 testing code-coverage

<分区>

我们有一个用于功能测试的自动回归测试设置,并且 有兴趣测量我们的测试覆盖率/代码覆盖率 基于Linux的项目。

我想知道有没有什么工具可以用来测试 覆盖率/代码覆盖率测量,无需检测代码。

请推荐任何可以做到这一点的工具或方法。

我知道仪器提供了最好的测量方法 代码覆盖率,但如果该工具可以 测量为测试覆盖率执行的功能 测量。

感谢和问候, 普拉什克

最佳答案

只有三种方法可以收集测试覆盖率数据:

  • 检测程序,并让检测来收集覆盖率
  • 定期中断程序(假定 native 执行)以确定其 PC, 并将 PC 映射到源行号
  • 在解释器下运行程序,并让解释器执行(或者让解释器在某些关键程序事件发生时调用特殊的用户代码事件处理程序,例如“函数入口”)。

事实上,口译员可能没有这种内在的能力,其中 如果您被简化为第一个解决方案:-{ 如果您正在运行解释器,那么它可能内置的任何测试覆盖率数据收集都应该在其文档中得到很好的宣传。

您可以自己实现“中断获取 PC”方法,使用链接映射或目标文件中的符号数据(或者可能有人已经为您完成了。)它有一个严重的缺点:因为您正在采样在 PC 上,很难验证某些功能是否真的被执行了。它可能有,只是您没有在正确的时间对 PC 进行采样。这就是该方案未在实际测试覆盖工具中使用的原因。

关于testing - 没有检测的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4460038/

相关文章:

java - InjectMocks 对象上的 org.mockito.exceptions.misusing.NotAMockException

javascript - 无法在功能后停止快速服务器

c++11 - 如何获取 C++ 的 Bazel 代码覆盖率摘要?

grails - IntelliJ 代码覆盖运行程序 - headless (headless)

PHPUnit 覆盖现在不完整,因为类的左大括号没有被覆盖

testing - Winium Automation-如何使用带有 java 的 Winium 在键盘上按 Enter 或 Escape?

python - 如何自动执行 Windows 驱动程序和二进制文件的防病毒/WSUS 补丁测试?

database-design - 实现大型系统更改

java - 为什么 eCobertura 和 EclEmma 测量的代码覆盖率不同?

android - 使用 mockito 库的 android 应用程序的 Jacoco 代码覆盖率