问题标签 [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 投票
2 回答
699 浏览

testing - J2ME 覆盖工具

我需要估计测试集的代码覆盖率。测试在物理设备上的 J2ME 应用程序上运行。MIDP 2.1、CLDC 1.1 和 JSR-75 FileConnection 可用。由于 J2ME(大致)是 J2SE 的一个子集,因此无法使用使用 java.io.File 的工具(如目前唯一答案中列出的那些..)。

这主要是为了识别测试根本不涉及的代码片段。

之后能够任意组合报告数据也很好,所以我可以看到一个新的测试实际上增加了多少覆盖率。

Cobertura4j2me有什么替代品吗?

0 投票
3 回答
1828 浏览

xslt - XSL 代码覆盖工具

是否有任何工具可以告诉我在测试期间实际执行了多少百分比的 XSL 文档?

更新

我找不到比 Oxygen 的 XSL 调试器和分析器更好的东西了,所以我接受了 Mladen 的回答。

0 投票
5 回答
703 浏览

c++ - 我想告诉 VC++ 编译器编译所有代码。可以做到吗?

我将 VS2005 VC++ 用于非托管 C++。我有 VSTS 并且正在尝试使用代码覆盖率工具来完成关于单元测试的两件事:

  1. 看看我有多少被测试的引用代码正在执行
  2. 查看我的测试代码中有多少方法(如果有)根本没有经过单元测试

设置 VSTS 代码覆盖工具(请参阅链接文本)并完成任务 #1 非常简单。然而#2对我来说是一个令人惊讶的挑战。这是我的测试代码。

当这两种方法都在上面的类中定义时,编译器会自动从 obj 文件中删除 ThisMethodDoesNotRun()。如果我将它的定义移到类之外,那么它会包含在 obj 文件中,并且代码覆盖率工具显示它根本没有被执行过。在大多数情况下,我希望编译器为我完成这种消除,但对于代码覆盖工具,它会破坏大部分价值(例如,寻找未经测试的方法)。我已经尝试了很多方法来告诉编译器停止对我聪明并编译所有东西,但我很难过。如果代码覆盖工具能弥补这一点会很好(我想通过扫描源代码并将其与链接器输出匹配),但我没有发现任何迹象表明它有一个特殊的模式可以打开。

在此先感谢克格勃

0 投票
1 回答
1184 浏览

visual-studio - VSTS 代码覆盖错误?

有没有人经历过这个 VSTS 代码覆盖“错误”?你有什么建议吗?

我正在使用 Visual Studio 进行代码覆盖率分析,现在使用包含的工具通常是一项简单的任务。但是,我有一个我无法克服的问题。假设我有程序集 A、B、C 和 D,并已将它们全部标记为覆盖分析。我运行测试并查看结果并找到包含 A、B 和 C 的报告 - 但不包含 D。我调查并发现没有测试实际上执行 D 中的任何代码(假设它是 asp.net 前端和我还没有利用 UI 测试)。因为没有针对 D 的测试导致报告中缺少 D,所以总代码覆盖率和“未覆盖的块”是不正确的。

有谁知道我该怎么做以下任何一项?

  • 计算 D 中的总“块数”,以便我可以手动调整覆盖率报告以使其正确?
  • 获取覆盖率报告以自动显示未覆盖的程序集的块数,这些程序集已针对覆盖率进行检测但根本未进行测试?

虽然我确实希望提高测试覆盖率,但我正在分析代码库中历史时间点保存的覆盖率报告。因此,我不想创建一个仅在每个程序集中执行至少 1 个代码块并通过运行测试重新计算测试覆盖率的测试。对于看似简单的问题,这将是一个非常耗时的解决方法。

0 投票
3 回答
656 浏览

c++ - 在 C++ 应用程序中查找未引用的方法

我们有一个大型的 C/C++ 遗留源代码树,它已经出现了几次。我们预计有大量的方法不再使用。有没有工具可以帮助我们快速识别未使用的代码?

0 投票
1 回答
1340 浏览

mono - Mono 的代码覆盖率?

当您使用 mcs 编译器时,mono 会创建自己的调试目标,称为 .mdb 文件。

有没有办法在 Mono 中使用 NCover 或其他代码覆盖工具?

一个命令行工具会更好,所以我可以将它添加到我们的持续集成服务器中。

0 投票
7 回答
688 浏览

tdd - “代码覆盖”与“代码测试”?

将我当前的代码项目转换为 TDD,我注意到了一些事情。

在测试此代码并依靠代码覆盖工具来确定您是否有足够的测试时,我可以看到两种危险。

  • 您应该测试Test事件是否被触发。如果您忘记了这一点,仅代码覆盖工具不会告诉您。
  • 我马上就到另一个。

为此,我在启动函数中添加了一个事件处理程序,使其看起来像这样:

现在我可以简单地检查eventCount一下我的事件被调用了多少次,如果它被调用了。漂亮整齐。直到现在,我们才发现了一个永远不会被任何测试发现的阴险小错误:即,SomeFunction()在尝试调用事件之前不检查事件是否有任何处理程序。这将导致 null 取消引用,这将永远不会被我们的任何测试捕获,因为它们都默认附加了一个事件处理程序。但同样,代码覆盖率工具仍会报告完全覆盖率。

这只是我手头的“真实世界示例”,但我突然想到,即使您的代码 100%“覆盖”,也可能会漏掉更多此类错误,但这仍然不能转化为 100% 测试. 在编写测试时,我们是否应该对这种工具报告的覆盖率持保留态度?是否有其他类型的工具可以捕捉这些漏洞?

0 投票
5 回答
810 浏览

language-agnostic - 您实际成功地使用了哪些技术来提高代码覆盖率?

我经常使用 TDD 实现 100% 的库覆盖率,但并非总是如此,而且似乎总是有部分应用程序未测试和未发现。
然后有些情况下,您从测试很少且覆盖率很少的遗留代码开始。

请说出您的情况以及至少改善了覆盖范围的有效方法。
我假设您在单元测试期间测量覆盖率,但如果您正在使用其他技术。

0 投票
3 回答
3819 浏览

visual-studio-2008 - VS 2008 的代码覆盖率工具

我们在 VS 2008 专业版中进行了单元测试,并且遇到了一个可能相当大的障碍:似乎无法确定这个特定 VS 版本中的代码覆盖率。似乎这仅在 VS Team System Development Edition 中可用。

换句话说,VS 2008 专业版允许您编写所有您想要的单元测试,但无法检查哪些代码没有关联的单元测试(或者测试覆盖了多少代码)。这个观察正确吗?

如果是这样,有人可以推荐一个第三方工具来确定代码覆盖率吗?我尝试了 TestMatrix,但完全不为所动(设置屏幕在 120 DPI 时隐藏了 OK 和 Cancel 按钮,运行我当前的一组测试导致完全 VS 锁定)。

一个附带问题:与其升级到 VS Team System Development Edition,不如使用 3rd 方覆盖工具,采用 NUnit 并找到免费/低成本的代码覆盖工具是否更有意义?我们还没有深入到单元测试中,我们希望选择一种不会妨碍我们努力的测试方法......并且不会破坏银行。

0 投票
2 回答
942 浏览

svn - 代码覆盖率和责任

有没有人见过将代码覆盖结果与 SCM/VCS 集成以将未经测试的代码行归因于开发人员的工具?例如,是否有一个工具可以获取 NCover 的 Coverage.Xml,将其与 SVN 归咎于,并生成一份报告,告诉我诸如开发人员提交了大多数未经测试的代码之类的事情?