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

unit-testing - 让 PartCover 工作

我想尝试 PartCover 的代码覆盖率。我正在使用 MSTest 运行 Visual Studio 2008 Professional。专业版不包括团队测试工具,如代码覆盖率。

所以,我正在尝试 PartCover,但我无法让它工作。在 PartCover.Browser 中,我选择了 MSTest 可执行文件,将工作参数指向了我的 tests.dll,并尝试将工作目录指向 TestResults 文件夹,但出现错误:

“报告为空。检查设置并再次运行目标。”

我不知道下一步该尝试什么。

编辑

事实证明我有两个问题。首先,我的规则不正确。其次,我的工作论证中有空格。空格出现错误,但没有出现在任何地方。

0 投票
4 回答
913 浏览

java - 我的构建可以规定我的代码覆盖率永远不会变得更糟吗?

我正在使用 hudson CI 来管理一个直接的 java web 项目,使用 ant 来构建。

我想强制单元测试覆盖率永远不会比以前的构建差,从而确保始终测试任何新代码,或者至少覆盖率不断提高。

有没有这样的哈德逊插件?

编辑:我目前正在使用 Emma,但愿意切换到另一个覆盖应用程序。

另外,作为澄清,我已经看到了一些 Hudson 插件中的阈值,但这并不是我所追求的。例如,我想要的是,如果 Build #12 的总体覆盖率为 46%,并且有人以 45% 的覆盖率签入 Build #13,则构建会中断。

我想这样做的原因是我有一个测试覆盖率低的代码库。我们没有时间回去追溯编写单元测试,但我想确保覆盖率不断提高。

更新:丹指出了我的计划的一个边缘案例,这肯定会成为一个问题。我想我需要重新考虑这是否是一个好主意。

0 投票
3 回答
31413 浏览

c# - MSTest 代码覆盖率

如果我使用 MSTest,有没有办法在 Visual Studio 中测试代码覆盖率?还是我必须购买 NCover?

如果 Microsoft 不提供内置工具来进行代码覆盖,那么 NCover Enterprise 是否物有所值,或者旧的测试版是否足够好?

编辑:VS 产品的描述以及哪些包括代码覆盖率 https://www.visualstudio.com/vs/compare/

如果您的 VS 版本不支持,可以使用TestDriven.NET ( http://testdriven.net/ )。

0 投票
1 回答
200 浏览

integration-testing - 为变更集寻找合适的测试

我们使用cobertura作为代码覆盖工具。测试是使用 RFT-Rational Functional Tester 完成的(500 多个测试)。运行 RFT 需要很长时间。为了鼓励开发人员运行 RFT 测试,我们正在考虑能够列出涵盖“变更集”的测试的工具。

做法大致是:

  1. 在集成服务器上运行每个 rft 测试,针对各个测试创建覆盖数据数据库(cobertura 的 .ser 文件)
  2. 对于每个更改集,通过 .ser 文件查找测试
  3. 再次运行测试时更新数据库。本质上,过去运行的数据库用于“猜测”当前更改集的最小测试。

首先,我们可以将更改集视为文件列表。但是,它可能是代码行更改。

任何意见?任何具有此功能的现有工具?刚刚知道 IntelliJ 8 具有此功能,用于在其中运行测试。(可能用于单元测试)

0 投票
3 回答
3880 浏览

unit-testing - 代码覆盖工具如何以不同的语言工作?

大多数成熟的语言都有可靠的测试覆盖工具可供它们使用,但功能的深度因人而异。

此外,所有不同的 VM 和编译器都具有如此异构的结构,例如,在 C 中编写代码覆盖工具肯定是与在 Lisp 中非常不同的工作。

  • Python 必须sys.settrace直接告诉你正在执行哪些行
  • Clover (for Java) 使用它自己的编译器并添加调试元数据(我上次使用它,无论如何)
  • Emma (for Java) 有一个 ClassLoader 可以动态重写字节码
  • COVER(对于 Lisp)有一个注释传递来检测代码

我对不同语言的代码覆盖率的实现感兴趣:

  1. 获得C0覆盖率的主要方法是什么,您可以在其中跟踪哪些代码行已被执行?我在上面提到了本机 VM 内省以及静态和动态代码检测 - 还有其他方法吗?

  2. 与 C0 相比,获取更多开明的覆盖数据,如C1 或 C2,似乎是一项与语言无关的任务。对我来说是大卡诺图操纵的味道;是否有关于如何实际执行的最佳实践?模糊性等更现代的逻辑技术是否起作用?

  3. 测试覆盖率的一个被忽视的方面是将结果显示给程序员,这对 C1 和 C2 数据变得越来越困难。坦率地说,虽然他们完成了 C0 的工作,但我对大多数测试覆盖率接口并不满意。你见过哪些新颖直观的覆盖数据界面?

0 投票
1 回答
792 浏览

c++ - 在命令行上运行的 C++ 代码覆盖率工具

我使用代码覆盖工具来编写单元测试用例。我有一个代码覆盖工具,但只需要通过它的 GUI 界面来做所有事情。理想情况下,我想要一个能够在单个 .cpp 文件上生成文本输出(.diff 是最好的)的工具。这样的工具存在吗?

0 投票
4 回答
5014 浏览

.net - .NET 中用于个人项目的免费代码覆盖工具

我需要一个用于个人项目的 .NET 中的免费代码覆盖工具。NCover 对于个人使用来说有点贵。

0 投票
3 回答
159 浏览

windows - 在哪里可以找到与 mod_perl2 一起使用的代码分析和/或代码覆盖模块?

有没有办法在 mod_perl2 下获得这个功能?

它可以通过网络请求而不是命令行触发吗?或者我是否需要伪造我的脚本所需的任何 $ENV 变量和查询字符串和 cookie 并以某种方式使用命令行?

Google 和 CPAN 搜索似乎都指向了一些东西,它们要么一开始就不支持 mod_perl,要么支持,但已经过时并且没有提到 mod_perl2。

0 投票
2 回答
361 浏览

perforce - 编写一个支持代码覆盖测试的工具

我正在尝试编写一个小工具来支持我们在公司运行的一些代码覆盖率测试。

这是我对工具的要求 -

输入- 已修改的文件列表(.cpp 和 .h)(作为签入更改列表的一部分)

输出- 在源中添加或修改的所有功能(作为签入更改的结果)。

知道我该怎么做吗?基本上,它归结为更改了哪些行以及与更改的行相关的功能是什么......

更多信息 - 源代码控制:Perforce 平台:Windows

0 投票
3 回答
3850 浏览

windows - 免费的代码覆盖工具

是否有适用于本机(非托管)代码的免费代码覆盖工具?对于 Windows 或 Linux 平台?