您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
TestNG傳參的幾種方式
作者:網絡轉載 發(fā)布時間:[ 2015/9/17 14:01:04 ] 推薦標簽:軟件測試工具 單元測試工具

  1. 通過parameter傳參
  java代碼部分:
  import org.testng.annotations.Parameters;
  import org.testng.annotations.Test;
  public class ParameterizedTest1 {
  @Test
  @Parameters("myName")  //這里可以帶多個參數,且參數名要和xml文件里的一致;但不必與parameterTest()方法里的參數名一致,需要與其參數順序一致。
  public void parameterTest(String myName) {
  System.out.println("Parameterized value is : " + myName);
  }
  }
  XML數據文件部分:
  <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
  <suite name="Suite1">
  <test name="test1">
  <parameter name="myName" value="manisha"/>
  <classes>
  <class name="ParameterizedTest1" />
  </classes>
  </test>
  </suite>
  2. 通過dataprovider傳參
  2.1 默認使用方法名作為dataprovider標識
public class DataProviderTest {
@DataProvider
public Object[][] providerMethod(Method method){
Object[][] result = null;
if(method.getName().equals("testmethod1")){
result = {{,1}};
}else if(method.getName().equals("testmethod2")){
result = {{,2}};
}return result;
}
@Test(dataProvider="providerMethod")
public void testmethod1(int param){
System.out.println("method1 received:"+param);
}
@Test(dataProvider="providerMethod")
public void testmethod2(int param){
System.out.println("method2 received:"+param);
}
}
  2.2 通過dataprovider制定name標識傳參
public class DataProviderTest {
@DataProvider(name="test")
public Object[][] providerMethod(Method method){
Object[][] result = null;
if(method.getName().equals("testmethod1")){
result = new Object[][]{new Object[]{1}};
}else if(method.getName().equals("testmethod2")){
result = new Object[][]{new Object[]{2}};
}else{
result = new Object[][]{new Object[]{3}};
}
return result;
}
@Test(dataProvider="test")
public void testmethod1(int param){
System.out.println("method1 received:"+param);
}
@Test(dataProvider="test")
public void testmethod2(int param){
System.out.println("method2 received:"+param);
}
}

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd