目录

(八)JUnit 测试批量运行

前面测试用例的运行 主要针对单个测试类进行的,当然,在 IntelliJ IDEA 中也可以选择单个的方法执行。那如果我们想运行所有的用例的文件呢?

IntelliJ IDEA 中设置运行


设置

在 IntelliJ IDEA 中,菜单栏:Run菜单 –> Edit Configurations…选项

http://img.testclass.net/junit_run_all_config.png

在 Junit 目录下,选择任意一个用例文件。

  • Test Kind : 选择用例的运行类型/级别。
  • packages : 选择用例运行的目录,即你的测试用例目录。

设置完成后,点击 “OK” 按钮。

运行

点击 IntelliJ IDEA 工具栏上的运行按钮,来运行 test 目录下的所有用例。

http://img.testclass.net/junit_run_button.png

运行结果:

http://img.testclass.net/junit_run_result_4.png

通过测试套件运行


这种方法引入一种 “测试套件” 的概念,JUnit 提供了一种批量运行测试类的方法,叫测试套件。

测试套件的写法需要遵循以下原则:

  1. 创建一个空类作为测试套件的入口;

  2. 使用注解 org.junit.runner.RunWithorg.junit.runners.Suite.SuitClasses 修饰这个空类。

  3. org.junit.runners.Suite 作为参数传入给注解 RunWith,以提示 JUnit 为此类测试使用套件运行器执行。

  4. 将需要放入此测试套件的测试类组成数组作为注解 SuiteClasses 的参数。

  5. 保证这个空类使用public修饰,而且存在公开的不带任何参数的构造函数。

单独创建一个测试类 runAllTest .

package test;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({
        CountTest.class,
        TestFixture.class,
        AssertTest.class,
        TestRunSequence.class,
})
public class runAllTest {

}

把需要运行的测试类放到 SuiteClasses 中,运行 runAllTest 测试类,即可批量执行测试用例。


小结:关于 JUnit4 的功能就介绍完了。

原始封面

https://images.unsplash.com/photo-1629904888099-00285934292b?w=300