IDEA 中 JUnit 的使用

1. JUnit 是什么?

  JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。
  Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。

2. IDEA 的 JUnit 配置

  IDEA 一般默认安装了插件 JUnit,如下图所示:可在 settings 中的 Plugins 选项卡中的 Installed 一栏中搜索 JUnit 查看。
IDEA 中 JUnit 的使用

3. 测试类的生成

  首先,在项目根目录下新建 Test 文件夹(或其他任意你喜欢的名字),并在 Project Structure 中标记为 Test(默认为 Source),用以保存生成的测试类。标记后,自动生成的测试类都会自动保存在此文件夹下。
IDEA 中 JUnit 的使用
IDEA 中 JUnit 的使用
  创建好文件夹后就可以进行测试类的生成了。
  在需要测试的类上右键 -> Go To -> Test,选择 “create new test…”,打开生成界面。
IDEA 中 JUnit 的使用
  在生成界面中选择 Testing Library 为 JUnit 4(默认为 Arquillian JUnit 4),同时勾选需要测试的函数,然后点击 OK 即可生成。
  之后我们可以看到 Test 文件夹下已经有了生成好的测试类。
  但是我们会发现,测试类中的 import 是红色的,这是因为 JUnit 的依赖包并不在标准 JDK 中。我们可以通过把输入光标移到红色的 junit 上按 alt + enter 键(即 IDEA 自动导包的快捷键)然后选择 Add ‘JUnit4’ to classpath ,并在之后的下载界面直接选择 “OK” 即可通过 IDEA 自动关联依赖包。
  当然,也可以手动下载 JUnit 4 包(或更高版本)并手动关联。
IDEA 中 JUnit 的使用

4. 测试覆盖率的查看

  待测试程序:

public class Calculator {
    public static int add(int a, int b) {
        return a + b;
    }

    public static int sub(int a, int b) {
        return a - b;
    }

    public static int mul(int a, int b) {
        return a * b;
    }
}

  生成的测试类:

import static org.junit.Assert.*;

public class CalculatorTest {
    @org.junit.Test
    public void add() {
    }

    @org.junit.Test
    public void sub() {
    }

    @org.junit.Test
    public void mul() {
    }
}

  选择 Edit Configuration 以设置 Code Coverage 检查。
IDEA 中 JUnit 的使用
  在弹出的窗口中左侧选择 JUnit 对应的运行模块(在我这里由于没有其他 main 方法没有,因此其他运行模块),然后选择 Code Coverage 选项卡,之后选择下方的 Tracing(默认为 Sampling),接着点击右侧的添加期望检查的类。
IDEA 中 JUnit 的使用
  之后选择 Run “测试类名” with Coverage 即可查看测试覆盖率了。左侧的绿色条代表方法中的每条语句都测试到了,红色代表完全没有测试,黄色代表部分语句测试到。
IDEA 中 JUnit 的使用