我已经为我的类编写了 JUnit 测试,并希望它告诉我代码中是否有任何部分未经过单元测试。有没有办法做到这一点?

有帮助吗?

解决方案

如果你使用Eclipse,也可以尝试 EclEmma ,则该源的线覆盖其示出了通过测试。这有时比运行像的Cobertura覆盖工具,因为你可以从Eclipse内运行一个测试,然后得到什么覆盖即时反馈更加有用。

其他提示

是的,覆盖工具如 科贝尔图拉 或者 艾玛.

他们创造 报告 显示源代码中的每一行以及是否执行(以及汇总统计信息)。

当然,他们只能向您显示代码是否运行。无法判断单元测试是否包含断言来确认结果是否正确。

您需要一些代码覆盖率工具。看 在这里(http://java-source.net/open-source/code-coverage) 对于一些

如果你看第一个,我认为它满足你的需要

Cobertura 是一个免费的 Java 工具,用于计算测试访问的代码的百分比。它可用于识别 Java 程序的哪些部分缺乏测试覆盖率。它基于jcoverage。科贝图拉的特点:

  • 可以从ANT或命令行执行。

您标题和您的实际问题有所不同。在其他的答案提到的工具可以告诉你,这部分代码分别的测试(=根本没有执行)。制作“确保代码的所有部分是单元测试”是一个不同的事情。该覆盖工具可以告诉你是否所有的行/指令已被执行,但并不保证一切功能测试(数据的所有星座,所有的执行路径,等等)。这需要一些脑力。 在我看来,测试覆盖率往往给人安全的不协调感。例如。测试琐碎吸气剂覆盖率增加了很多,但相当无用的。

如果您使用的是IntelliJ然后有一个标题为一个按钮

“运行随着覆盖”

“与覆盖运行”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top