51Testing软件测试论坛
标题:
通过 @Parameters 实现测试用例参数化
[打印本页]
作者:
草帽路飞UU
时间:
2022-8-4 14:29
标题:
通过 @Parameters 实现测试用例参数化
目录如下:
[attach]140498[/attach]
DataProviderTest.java 代码如下:
package com.testng.cn;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
public class DataProviderTest {
@Test
@Parameters({"add1","add2","result"})
public void testAdd1(int add1, int add2, int result){
assertEquals(add1+ add2, result);
}
}
testng.xml配置文件如下:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="
测试
套件">
<test name="简单测试">
<parameter name="add1" value="3"/>
<parameter name="add2" value="2"/>
<parameter name="result" value="5"/>
<classes>
<class name="com.testng.cn.DataProviderTest" />
</classes>
</test>
</suite>
<parameter.../> 定义测试数据
· name 定义数据的名字, 在
测试用例
中通过该名字来获取对应的 vlaue。
· o value 定义测试数据, 通过对应的 name 来获取该值。
运行结果如下:
[attach]140499[/attach]
通过 @DataProvider 实现参数化。
DataProviderTest.java 代码如下:
package com.testng.cn;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
public class DataProviderTest {
// 定义对象数组
@DataProvider(name = "add")
public Object[][] Users() {
return new Object[][] {
{ 3, 2, 5 },
{ 2, 2, 4 },
{ 3, 3, 6 },
};
}
@Test(dataProvider="add")
public void testAdd2(int add1, int add2, int result){
assertEquals(add1+add2, result);
}
}
@DataProvider 定义对象数组, 数组的名称为: add 。
在 testAdd2() 中通过 dataProvider="add" 调用定义的对象数组, 并通过参数获取相应的测试数据。
执行结果如下:
[attach]140500[/attach]
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2