Bootstrap

Junit5-标签测试

Junit5-标签测试:

java15+maven3.8+idea2022.2

  • 学习标签测试
  • 禁用测试用例

标签Tag:

使用标签tag可以实现分组测试,方便与不同的环境执行不同的测试用例
通过pom.xml来设置需要执行哪些标签
在这里插入图片描述
groups里表示要执行的 标签名称,excludedGroups是不被执行的标签

  1. 标签测试tag
    @Tag 注解来声明标签,一个测试用例可以有多个tag
public class TagTest{
	@Test
	@Tag("dev")
	void testDev (){
	}
	@Test
	@Tag("test")
	void testBeta (){
	}
	@Test
	@Tag("dev")
	@Tag("test")
	void testBeta (){
	}
}
  1. maven执行标签测试
    使用mvn clean test 命令来执行用例,得到pom.xml中配置的用例被执行,不被配置的或者不允许执行的则不执行
    使用mvn命令执行:
mvn clean test -Dgroups="test"  //需要执行的tag
mvn clean test -DexcludeGroups="dev" //不被执行的tag

如果设置了pom.xml中可执行或者不可执行的tag用例,也是用命令的形式,那么pom.xml的优先级更高

  1. tag的命名规范
1.@Tag("")//不能为空
2.@Tag("test ")//不能包含空格
3.@Tag("")//不能含有ISO控制字符
4.@Tag(",、$|!")//不能含有这些符号,因为这些后面表达式是用的特殊符号
  1. 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'
  1. 自定义标签
    需要定义一个接口,并在这个接口类上是用@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'

  1. 禁用测试方法
    该注解的运行,禁用类的话在idea是不支持的,只有mvn命令支持,禁用方法 是可以用idea运行的'
    使用注解@Disabled 来禁用测试类和测试方法,被禁用的类和方法在执行时会被跳过,也就是不执行
@Disabled//可以传参数也可以不传参数,不传参数就是代表一个禁用状态
public class DisabledTest{
    @Disable //
	void test(){
		//pass
	}
}

学习时间:

提示:这里可以添加计划学习的时间

例如:

  • 周一至周五晚上 7 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

提示:这里统计学习计划的总量

例如:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个
;