代码覆盖率

时间:2020-01-09 10:35:38  来源:igfitidea点击:

代码覆盖率意味着测量在单元测试期间执行了多少代码。基本上,这意味着在运行单元测试之后,我们会得到一个报告,其中显示了在测试过程中执行了多少代码以及执行了哪些代码行。

有了代码覆盖率报告,我们可以分析未运行代码的哪些部分,并修改单元测试,以便执行代码的这些部分。

覆盖范围越大,越接近100%,也就是说,拥有无错误代码的机会就越大。但是,拥有100%的代码覆盖率并不能保证代码没有错误。例如,代码覆盖率不能防止由于需求的不正确实现而导致的错误。该代码可能工作正常,但如果不是客户要求的代码,那么它仍然是一个错误。

要测量代码覆盖率,我们需要一个覆盖率工具。以下是Java代码覆盖工具的一小部分,但可能并不详尽:

  • IntelliJ IDEA覆盖率
  • 艾玛-http://emma.sourceforge.net/
  • EclEmma-http://www.eclemma.org/

IntelliJ IDEA从7.0版开始内置了代码覆盖范围。 IntelliJ IDEA都有自己的代码覆盖引擎,并且可以使用Emma。

Emma是Java的开源代码覆盖工具。我们可以将其作为Ant或者Maven构建的一部分来运行。

EclEmma是Eclipse中的Emma。