# （八）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.RunWith__ 和 __org.junit.runners.Suite.SuitClasses__ 修饰这个空类。

3. 将 __org.junit.runners.Suite__ 作为参数传入给注解 __RunWith__，以提示 JUnit 为此类测试使用套件运行器执行。

4. 将需要放入此测试套件的测试类组成数组作为注解 SuiteClasses 的参数。

5. 保证这个空类使用public修饰，而且存在公开的不带任何参数的构造函数。

单独创建一个测试类 runAllTest .

```java
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 测试类，即可批量执行测试用例。

<br>
<font color="blue">小结：关于 JUnit4 的功能就介绍完了。</font>




原始封面

![课程图片](https://images.unsplash.com/photo-1629904888099-00285934292b?w=300)


