11. JUnit 中的代码覆盖率(Code Coverage In JUnit)¶
11.1. JUnit 中的代码覆盖率(Code Coverage In JUnit)¶
webcat 评分系统提供的最有用的功能之一就是 总代码覆盖率信息。幸运的是,Eclipse 有多个插件 提供类似的功能,因此当你编写代码时,你将不会 只依赖 webcat。
第 1 步:打开 Eclipse,选择 Help→Install New Software 第 2 步:将出现一个新窗口,类似于下图,选择 Add 按钮。
第 3 步:将出现一个弹出窗口,要求输入名称/位置,请输入 NAME:Eclemma, 以及 LOCATION:http://update.eclemma.org/
第 4 步:提供信息后,你将被重定向到一个屏幕,其中 可以选择 EclEmma 进行安装。勾选复选框,然后继续 安装屏幕。
11.1.1. 使用 EclEmma(Using EclEmma)¶
安装插件后,开始编写测试代码。测试代码完成后, 选择下图中以红色标出的按钮。
测试运行完成后,被测试的源代码 将以三种不同的颜色高亮显示。绿色表示这一行代码 已被测试执行,属于"被覆盖"。黄色表示存在一段 含有多个分支的代码,且并非所有 分支都已被到达(例如 if 语句)。红色表示这一行代码完全没有 被到达,因此属于未被覆盖。
利用这些可视化信息来帮助判断测试代码缺少了什么,以及如何 提高代码覆盖率。除了显示测试用例未覆盖到的代码之外, EclEmma 还可以提供有关整个 项目、整个类以及类中每个方法的总覆盖率的信息。 若要查看这些信息,请选择 Window→Show View→Other,然后选择 Java→Coverage。 将出现一个类似于下图的窗口,并提供相关信息。
Figure 2.11.4: Eclipse 项目中每个类的代码覆盖率¶
Figure 2.11.5: BST 类中每个方法的代码覆盖率¶
