Java_Base10之testNG、注解、参数化测试

1、testng
简介:	testng是一个单元测试框架,它提供了一系列的丰富注解(标签)
来帮助我们很方便的编写和管理被测项目的测试类和测试方法,
而且功能比junit更强大,支持依赖测试,忽略测试,异常测试,超时测试,分组测试等多种测试场景。
坐标:
	<dependency>
		<groupId>org.testng</groupId>
		<artifactId>testng</artifactId>
		<version>7.0.0</version>
		<scope>test</scope>
	</dependency>
2、testng.xml
suite元素:测试套件(测试类的集合)
test元素:测试模块
classes:测试类集合
class:测试类的路径
在项目的根目录底下创建testng.xml
一个suite(套件)由一个或多个测试模块构成
一个test(测试)是由多个类组成

testng.xml 执行测试用例时首先按照class排序执行,class里面方法按照英文自然排序执行。
3、了解注解
dependsOnMethods 测试方法依赖于某方法
@Test(enabled = false)
4、常用注解
配置注解的作用:用于完成测试前的准备工作
@BeforeSuite/@AfterSuite 标记的方法:在某个测试套件(suite)开始之前运行/在某个测试套件所有测试方法执行之后运行
@BeforeTest/@AfterTest标记的方法: 在某个测试(test)开始之前运行/在某个测试下的所有测试类中的测试方法执行之后运行
@BeforeClass/@AfterClass标记的方法:在某个测试类(class)开始之前运行/在某个测试类中的所有测试方法执行之后运行
@BeforeMethod/@AfterMethod标记的方法: 在某个测试方法(method)之前运行/在某个测试方法执行之后运行	
5、重点掌握注解!!!!!
@DataProvider	数据支持
注意:
	1、使用此注解的方法的返回值必须是:Object[][] 或者 Iterator<Object[]>!!!!!!
	2、参数个数!!!!类型!!!!必须匹配
	3、可以接受集合、自定义类型
6、ITestContext(了解)

测试上下文、缓存

7、参数化测试(数据驱动测试):
a、testng.xml定义parameter
	<parameter name="host" value="http://localhost/"></parameter>
	<parameter name="browserType" value="firefox"></parameter>
	配合 @Parameters(value={"browserType"}) 一起使用
	局限性:通过parameters注入的参数必须定义在testng.xml中
b、DataProviders
	利用此注解标注一个方法,注解需指定一个name属性。方法返回值为一个Object类型的二维数组。
	注入dataprovider的数据时,test方法必须声明此dataprovider属性,值为前面定义处的name值。
	使用dataprovider时,若没有声明则为方法名。在测试方法上引用此dataprovider时需要指向对应的name值
	@DataProvider(name="datas")
	public Object [][] dataProvider(){
		//...
	}
	@Test(dataProvider="datas")
	public void test2(String p1...){
		//...
	}
	优点:可传入普通的参数重复测试相同的接口
posted @   测试大斌  阅读(30)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示