Junit-测试结果输出格式及嵌套测试:
idea2022.2+maven3.8+iava15
- 学习junit5 测试结果输出格式
- 学习junit5 嵌套测试
注解形式:
- 默认类型 :如下所示,
代码不进行任何注解,默认的输出结果如下
类名
方法1()
方法2(参数类型)
- 自定义用例输出名称:
通过注解@DisplayName(“”),可以自定义用例的输出名称,如下
public class DisplayNameTest {
@Test
@DisplayName("第一条用例")
void PrintSomeThing(){
System.out.println("第一条用例");
}
}
输出如图所示
- 使用DisplayName生成器
也就是使用注解@ @DisplayNameGeneration,这个注解作用在类上面,有3种类型,如下
1.类名.方法名 :
@DisplayNameGeneration(DisplayNameGenerator.IndicativeSentences.class)
2.只输出方法名,没有类名 并将下划线替换为空格 并无参方法去掉括号 :
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
3.无参方法去掉括号:
@DisplayNameGeneration(DisplayNameGenerator.Simple.class)
- 使用配置文件
在resources下创建一个配置文件:junit-platform.properties,配置项如下
这里配置的是IndicativeSentences,也就是 输出形式为:类名.方法名,可根据自己的需求配置
junit.jupiter.displayname.generator.default=\
org.junit.jupiter.api.DisplayNameGenerator$IndicativeSentences
嵌套测试:
什么是嵌套测试:项目包含多个模块,模块下又包含多个功能,也就是层层嵌套的,嵌套测试能表现出 层级关系,例如测试用例管理
- 嵌套测试要使用注解@Nested,该注解作用在类上,表示类与类之间的嵌套
- 代码如下
/**
* Nested
* 实现用例的嵌套关系
* 该注解需要借和类使用
*/
@Nested
public class AuthTest {
@Test
void AuthPlat(){
System.out.println("登录平台");
}
@Nested
class SectorManage{
@Test
void sectorMeta(){
System.out.println("部门Meta");
}
@Test
void sectorInfo(){
System.out.println("部门info");
}
}
@Nested
class StaffManage{
@Test
void userInfo(){
System.out.println("用户info");
}
}
}
- 演示结果如下