-
Junit5-10-Test Instance Lifecycle
测试实例生命周期
为了让单独的测试方法在隔离中执行,并且为了避免由于可变测试实例状态而产生的意外副作用,
JUnit在执行每个测试方法之前创建了一个新的测试类的实例。
这种“每个方法”的测试实例生命周期是JUnit Jupiter中的默认行为,类似于JUnit的所有以前版本。
如果您希望JUnit Jupiter在同一个测试实例上执行所有的测试方法,只需使用@TestInstance(L...
2018-06-25 08:53:21 |
Test
-
Junit5-08-Tagging and Filtering
标签和过滤
可以通过 @Tag 注释对测试类和方法进行标记。这些标记稍后可用于筛选测试发现和执行。
语法规则
标签不能为空或 null。
trim() 的标记不能包含空格。
trim() 的标签不能包含ISO控制字符。
trim()的标记不能包含以下任何保留字符:
,: 逗号
...
2018-06-25 08:50:21 |
Test
-
Junit5-08-Condition Test Execution
按条件执行测试用例
JUnit Jupiter中的ExecutionCondition扩展API允许开发人员以编程方式启用或禁用容器或测试。
这种情况最简单的例子是内置的DisabledCondition,它支持 @Disabled 注释(参见禁用测试)。
除了@Disabled之外,JUnit Jupiter还支持 org.junit.jupiter.api.condition 中的其他...
2018-06-25 05:35:32 |
Test
-
Junit5-07-Disabled
@Disabled
可以通过 @Disabled 注释、条件测试执行中讨论的注释之一
或自定义ExecutionCondition来禁用整个测试类或单个测试方法。
实例
整个类
整个类中的测试方法,都会被跳过
DisabledClassDemo.java
import org.junit.jupiter.api.Disabled;
import org.junit.jup...
2018-06-25 05:35:32 |
Test
-
Junit5-06-Assumptions
Assumptions
JUnit Jupiter附带了JUnit 4提供的假设方法的一个子集,并添加了一些可以很好地用于Java 8 lambdas的假设方法。
所有的JUnit Jupiter假设都是在 org.junit.jupiter.api.Assumptions 的静态方法。
实例
AssumptionsDemo.java
package com.github....
2018-06-24 23:39:35 |
Test
-
Junit5-05-Assert
Assert
JUnit Jupiter附带了许多JUnit 4拥有的断言方法,并添加了一些可以很好地用于Java 8 lambdas的断言方法。
所有JUnit木星断言都是 org.junit.jupiter.api.Assertions 中的静态方法断言类。
实例
AssertTest.java
import org.junit.jupiter.api.Test;
im...
2018-06-24 23:23:12 |
Test
-
Junit5-04-DisplayName
测试方法的名字
以前在看 Spock 的时候,提到一个胜于 Junit4 的优势就是可以灵活的定义测试方法和类的名称。
说明
Junit5 中的 @DisplayName 就为我们提供了实现这种方式的名称。
测试类和测试方法可以声明自定义显示名称——带有空格、特殊字符甚至表情符号——将由测试运行器和测试报告显示。
例子
package com.github.houbb.jdk.j...
2018-06-24 23:18:29 |
Test
-
Junit5-03-Class and Method
测试类和方法
测试方法是使用@Test、@RepeatedTest、@ParameterizedTest、@TestFactory或@TestTemplate直接或元注释的任何实例方法。
测试类是包含至少一个测试方法的任何顶层或静态成员类。
标准案例
注意
测试类和测试方法都可以不设置为 public。
StandardTests.java
import sta...
2018-06-24 23:10:34 |
Test