Junit5-测试套件:
java15+maven3.8+idea2022.2
- 学习Suite测试套件
测试套件Suite:
- 执行指定的类下的用例
可以指定执行某个类下的test,也可以指定多个类,多个类的话就是@SelectClasses()里以类集合的形式作为参数
@Suite
@SelectClasses(某个类.class)//执行这个测试类,单个类
public class SuiteTest{
}
@Suite
@SelectClasses({类1.class,类2.class})//执行多个类的测试用例
public class SuiteTest{
}
- 执行package下的用例
可以指定执行某个包下的test,也可以指定多个包,多个包的话就是@SelectPackages()里以集合的形式作为参数
@Suite
@SelectPackages("com.junit.test1")
public class Suite2Test{
}
@Suite
@SelectPackages({"com.junit.test1","com.junit.test2"})
public class Suite2Test{
}
- 过滤指定要执行的包下面的用例
可以过滤 指定的包下面,只允许执行哪些包
也可以过滤掉 不被允许执行的包
@Suite
@SelectPackages({"com.junit"})//这下面包含别的包
@IncludePackages({"com.junit.test1"})//指定只执行这个包下的用例
@ExcludePackages({"com.junit.test2"})//指定这个包下的用例不能被执行
public class Suite2Test{
}
- 使用正则匹配Test
(1)这里学习使用正则匹配测试用例,这里匹配的是Class名称来指定要执行的测试用例
@Suite
@SelectPackages({"com.junit"})//这下面包含别的包
@IncludeClassNamePatterns("*Test$")//只执行类名以Test结尾的类下面的用例
public class Suite3Test{
}
@Suite
@SelectPackages({"com.junit"})//这下面包含别的包
@ExcludeClassNamePatterns("com.junit.test1.*Test$")//不执行这个包下的以Test结尾的类的用例
public class Suite3Test{
}
(2)这里匹配的是Tag名称来指定要执行的测试用例
@Suite
@SelectPackages({"com.junit"})//这下面包含别的包
@IncludeTags("test")//只执行标签为test的用例
public class Suite3Test{
}
@Suite
@SelectPackages({"com.junit"})//这下面包含别的包
@ExcludeTags("dev")//不执行这个包下的以dev标签的用例
public class Suite3Test{
}