问题标签 [code-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 回答
399 浏览

c# - 显示给定行执行次数的 C++ 报告工具

我想知道 C++ 中是否有一个工具可以为您提供报告,其中显示以下内容:

  1. 整个项目的源代码。通常每个源文件一个 HTML 页面。
  2. 除了源代码之外,还有行号,当然是为了便于阅读。
  3. 对于每一行,在行号的左侧,都会显示该行执行次数的值。

当然,您需要执行一个脚本来运行单元测试并从那里生成报告。

如果您熟悉 Java 的代码覆盖工具 Cobertura 和 C# 的 NCover,这是它的重要特性之一。

0 投票
6 回答
776 浏览

.net - 单元测试中的代码覆盖率

这是关于 .NET 库 (DLL) 的。

测量单元测试用例涵盖的代码的选项有哪些?它真的值得付出努力(测量代码覆盖率)吗?我想知道覆盖 70% 的代码可能太容易了,而超过 90% 几乎不可能。

[编辑] 另一个有趣的问题(由“E Rolnicki”提出)是:什么被认为是合理的覆盖率?

0 投票
7 回答
4675 浏览

python - python中的条件覆盖

是否有任何工具/库可以计算 python 代码的“条件/决策覆盖率”百分比。我只找到了coverage.py,但它只计算了“语句覆盖率”的百分比。

0 投票
13 回答
5904 浏览

unit-testing - 代码覆盖的陷阱

我正在寻找代码覆盖率的一些不良副作用的真实示例。

我注意到最近在工作中发生了这种情况,因为有一项实现 100% 代码覆盖率的政策。代码质量肯定一直在提高,但相反,测试人员似乎正在编写更宽松的测试计划,因为“代码完全经过单元测试”。结果,一些逻辑错误设法溜走了。调试它们真的很痛苦,因为“代码已经过完全单元测试”。

我认为这部分是因为我们的工具只进行了语句覆盖。尽管如此,它本来可以更好地度过时间。

如果有人对代码覆盖政策有其他负面影响,请分享。我想知道现实世界中正在发生什么样的其他“问题”。

提前致谢。

编辑:感谢所有非常好的回应。有一些我会标记为答案,但不幸的是我只能标记一个。

0 投票
2 回答
2802 浏览

visual-studio - VS2008:具有代码覆盖率的单元测试不适用于 /CLR

我正在尝试在 VS2008 中设置具有代码覆盖率的单元测试,用于使用/clr编译的 C++/CLI DLL (不是 /clr:safe 或 /clr:pure - 它必须是 /clr,因为它使用 MFC) .

单元测试运行良好,但覆盖信息仅在我使用 /clr:safe 或 /clr:pure 编译时才有效。对于 /clr,代码覆盖结果窗口显示以下消息:

生成空结果:未使用任何已检测的二进制文件。查看任何仪器问题的测试运行详细信息。

我也尝试过“去越野”,但是当我将覆盖文件加载到 VS 中时,它也包含空结果。

恼人的是,我找不到任何具体说明代码覆盖率是否与 /CLR 一起使用的地方,所以我只好自己尝试一下。

如果它应该工作,谁能看到我在这里做错了什么?


[File]->[New]->[Project]
选择Class Library,输入MyProj作为项目名称,点击 OK

右键单击 MyProj 项目,选择 [Properties]
选择 [Configuration Properties]->[General]
确保“Common Language Runtime support”设置为/CLR

将此代码添加到Class1

构建解决方案

【测试】->【新建测试】->【单元测试】,点击确定,点击创建

将此代码添加到TestMethod1

右击TestProject1项目,选择【References】
点击“Add New Reference”在“Projects”选项卡中
选择MyProj,点击OK,再次点击OK

[Test]->[Edit Test Run Configuration]->[Local Test Run]
选择[Code Coverage]
Check MyProj.dll,点击Apply,点击Close

[测试]->[运行]->[解决方案中的所有测试]

测试结果窗口显示 TestMethod1 已通过。代码覆盖结果窗口显示以下消息

生成空结果:未使用任何已检测的二进制文件。查看任何仪器问题的测试运行详细信息。


右键单击 MyProj 项目,选择 [Properties]
选择 [Configuration Properties]->[General] 将
“Common Language Runtime support”更改为/CLR:SAFE/CLR:PURE,单击 OK

构建解决方案

[测试]->[运行]->[解决方案中的所有测试]

测试结果窗口显示 TestMethod1 已通过。代码覆盖率结果
窗口现在显示正确的覆盖率信息。

0 投票
3 回答
3252 浏览

code-coverage - 基路径覆盖的意义何在?

onjava上的文章似乎暗示基本路径覆盖是完整路径覆盖的充分替代品,因为一些线性独立/圈复杂性魔术。

使用与文章类似的示例:

使用基组 {FF,TF,FT},错误不会暴露。只有未经测试的 TT 路径会暴露它。

那么,基路径覆盖有什么用呢?它似乎并不比分支覆盖好多少。

0 投票
4 回答
5038 浏览

.net - 人员(手动)测试的代码覆盖率?

是否有任何用于手动测试的代码覆盖率工具?例如,如果我写了 30 行新代码,编译,然后运行,有什么方法可以快速验证所有 30 行代码都运行了吗?

另外,稍后,在我将代码检查到正式版本后,有什么方法可以验证测试部门在进行独立测试时是否命中了所有 30 行代码?

我知道有很多工具可以验证测试部门是否测试了所有需求,但我还没有找到一个工具可以验证测试人员是否测试了所有代码行。

我对 .NET / C# 工具最感兴趣。

0 投票
5 回答
330 浏览

c++ - MD5 代码覆盖率

我目前正在实现一个基于 MD5 哈希算法的 RSA 数据安全代码,在 UpdateData 方法中有一段内容如下:

我目前正在尝试了解 if 语句如何评估为真( mCount[0] 值初始化为 0)。任何帮助将不胜感激。

谢谢

0 投票
10 回答
1178 浏览

java - Java 代码使用检查器

我正在开发一个库,我们想确定我们的库有多少被使用。IE 我们想知道我们的库中有多少方法是公开的,但从未被调用。

目标:静态分析 确定当前项目中有多少行代码调用包A中的每个公共方法。如果调用次数为零,则应报告该方法。

0 投票
3 回答
1051 浏览

unit-testing - What to test in unit testing, a method or a scenario?

What to test in unit testing, a method or a scenario?

If test each method then minimal test case setup is required.

If test a method which calls other methods then setup required for the test case is huge. If unit-tests for the individual methods are already there then why to write for this method which is using them?

But then it also have little bit of functionality which should be tested. Also the code coverge tool will complain about coverage percentage.

Please provide your practical inputs.