Junit5-标签测试:
java15+maven3.8+idea2022.2
- 学习标签测试
- 禁用测试用例
标签Tag:
使用标签tag可以实现分组测试,方便与不同的环境执行不同的测试用例
通过pom.xml来设置需要执行哪些标签
groups里表示要执行的 标签名称,excludedGroups是不被执行的标签
- 标签测试tag
@Tag 注解来声明标签,一个测试用例可以有多个tag
public class TagTest{
@Test
@Tag("dev")
void testDev (){
}
@Test
@Tag("test")
void testBeta (){
}
@Test
@Tag("dev")
@Tag("test")
void testBeta (){
}
}
- maven执行标签测试
使用mvn clean test 命令来执行用例,得到pom.xml中配置的用例被执行,不被配置的或者不允许执行的则不执行
使用mvn命令执行:
mvn clean test -Dgroups="test" //需要执行的tag
mvn clean test -DexcludeGroups="dev" //不被执行的tag
如果设置了pom.xml中可执行或者不可执行的tag用例,也是用命令的形式,那么pom.xml的优先级更高
- tag的命名规范
1.@Tag("")//不能为空
2.@Tag("test ")//不能包含空格
3.@Tag("")//不能含有ISO控制字符
4.@Tag(",、$|!")//不能含有这些符号,因为这些后面表达式是用的特殊符号
- Tag表达式
@Test
@Tag("dev")
@Tag("test")
public void test(){
System.out.Println("执行既包含dev又包含test标签的用例");
}
1.只执行 既包含test标签包含dev标签的用例 :pom.xml中的配置如下:使用&符号表示 与逻辑 ,用分号隔开其他标签
<groups>&test;dev</groups
2.只执行 包含test标签的,但是不执行包含dev标签的,是用!表示 非逻辑
<groups>&test;!dev</groups
如果只是表示不执行dev,可直接写成:<groups>!dev</groups
3.既执行dev又执行test的tag 下的用例 ,也就是或逻辑,这里用 | 表示
<groups>&test;!dev</groups
如果是用mvn命令的方式来是用tag的表达式的话 要用单引号包裹表达式
mvn clean test -Dgroups='!test'
mvn clean test -Dgroups='test|dev'
mvn clean test -Dgroups='test&dev'
- 自定义标签
需要定义一个接口,并在这个接口类上是用@Tag标签
//定义接口
@Tag("dev")//自定义标签名称为dev
public @interface DevTest{
}
//使用前面定义的标签和接口类
public class JunitTest{
@DevTest//接口名
public void test(){
System.out.Println("自定义标签 dev")
}
}
这里使用的注解其实是@接口名,这里@接口名但是实际上使用的标签是该接口上自定义的标签dev,在运行的时候要是用dev来运行 mvn clean test -Dgroups='dev'
- 禁用测试方法
该注解的运行,禁用类的话在idea是不支持的,只有mvn命令支持,禁用方法 是可以用idea运行的'
使用注解@Disabled 来禁用测试类和测试方法,被禁用的类和方法在执行时会被跳过,也就是不执行
@Disabled//可以传参数也可以不传参数,不传参数就是代表一个禁用状态
public class DisabledTest{
@Disable //
void test(){
//pass
}
}
学习时间:
提示:这里可以添加计划学习的时间
例如:
- 周一至周五晚上 7 点—晚上9点
- 周六上午 9 点-上午 11 点
- 周日下午 3 点-下午 6 点
学习产出:
提示:这里统计学习计划的总量
例如:
- 技术笔记 2 遍
- CSDN 技术博客 3 篇
- 习的 vlog 视频 1 个