2018-12-20 · Develop

JUnit 常用用法解析

JUnit 是一个由 Java 语言编写的开源的回归测试框架,用于编写和运行可重复的测试。JUnit 是 Java 开发使用最广泛的框架。该框架也得到了绝大多数 Java IDE 和其他工具(如 Maven) 的集成支持。

环境搭建

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-core</artifactId>
    <version>1.3</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-library</artifactId>
    <version>1.3</version>
    <scope>test</scope>
</dependency>

常用的注解

测试套件

JUnit 设计 Suite 的目的是一次性运行一个或多个测试用例, Suite 是一个容器,用来把几个测试类归在一起,并把他们作为一个集合来运行,测试运行器会启动 Suite ,而运行哪些测试类由 Suite 决定。

@RunWith(Suite.class)
@Suite.SuiteClasses({SuiteTestOne.class, SuiteTestTwo.class})
public class SuitMain {

    // 虽然这个一个空的类,但是会运行 SuiteClasses 集合中的测试类
}

下面是 SuiteTestOne 和 SuiteTestTwo 的具体实现

@Slf4j
public class SuiteTestOne {

    @Test
    public void test() {
        log.info("SuiteTestOne");
    }
}

@Slf4j
public class SuiteTestTwo {

    @Test
    public void test() {
        log.info("SuiteTestTwo");
    }
}

测试运行器

@Runwith 用来确定这个类怎么运行。如果不标注将使用默认的运行器 JUnit4.class 。常用的测试运行器如下