您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > TestNG
TestNG之參數(shù)化測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/7/28 14:45:37 ] 推薦標(biāo)簽:軟件測(cè)試工具 單元測(cè)試

  @Parameters
  測(cè)試的時(shí)候,測(cè)試的數(shù)據(jù)可以放在testng.xml文件中,被測(cè)試的方法通過@Parameters注解傳遞到測(cè)試方法中
parameterizedTest.java
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class parameterizedTest {
@Test
@Parameters("myName")
public void testMethod(String myName) {
System.out.println("myName:" + myName);
}
}
testng.xml:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="Regression1" preserve-order="true">
<parameter name="myName" value="大盜如風(fēng)"></parameter>
<classes>
<class name="parameterizedTest"></class>
</classes>
</test>
</suite>
  運(yùn)行testng.xml,結(jié)果如下:
  myName:大盜如風(fēng)
  @DataProvider
  @Test(dataProvider = "")
  如果測(cè)試的數(shù)據(jù)較多的情況下,很顯然這種方式不適合,那么可以通過@DataProvider生成測(cè)試數(shù)據(jù),通過@Test(dataProvider = "")使用測(cè)試數(shù)據(jù)
parameterizedTest2.java
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class parameterizedTest2 {
// 定義數(shù)據(jù)源
@DataProvider(name = "test")
public Object[][] createData() {
return new Object[][]{{"dadaorufeng",29},{"zhangsan",28}};
}
// 使用數(shù)據(jù)源
@Test(dataProvider = "test")
public void verifyData(String name, int age) {
System.out.println("name:" + name + ",age:" + age);
}
}
testng.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="Regression1" preserve-order="true">
<classes>
<class name="parameterizedTest2"></class>
</classes>
</test>
</suite>

上一頁12下一頁
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd