您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
TestNG參數(shù)化測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2016/1/20 13:28:23 ] 推薦標(biāo)簽:單元測試工具 軟件測試

  在TestNG的另一個有趣的功能是參數(shù)測試。在大多數(shù)情況下,你會遇到這樣一個場景,業(yè)務(wù)邏輯需要一個巨大的不同數(shù)量的測試。參數(shù)測試,允許開發(fā)人員運行同樣的測試,一遍又一遍使用不同的值。
  TestNG讓你直接傳遞參數(shù)測試方法兩種不同的方式:
  使用testng.xml
  數(shù)據(jù)提供程序
  傳遞參數(shù)使用testng.xml
  有了這種技術(shù),在testng.xml文件中定義的簡單參數(shù),然后在源文件中引用這些參數(shù)。讓我們看看下面的例子中如何使用這種技術(shù)來傳遞參數(shù)。
  創(chuàng)建測試案例類
  創(chuàng)建一個Java測試類 ParameterizedTest1.java.
  測試方法parameterTest()添加到測試類。此方法需要一個字符串作為輸入?yún)?shù)。
  添加注釋 @Parameters("myName") 到此方法。該參數(shù)將被傳遞testng.xml,在下一步我們將看到一個值。
  創(chuàng)建Java類文件名 ParameterizedTest1.java 在 C: > TestNG_WORKSPACE
  import org.testng.annotations.Parameters;
  import org.testng.annotations.Test;
  public class ParameterizedTest1 {
  @Test
  @Parameters("myName")
  public void parameterTest(String myName) {
  System.out.println("Parameterized value is : " + myName);
  }
  }
  創(chuàng)建 TESTNG.XML
  創(chuàng)建 testng.xml C: > TestNG_WORKSPACE 執(zhí)行測試案例
  <?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>
  我們還可以定義參數(shù)在<suite>級別。假設(shè)我們已經(jīng)定義在兩個<suite>和<test>級別myName,在這種情況下,常規(guī)的作用域規(guī)則適用。這意味著,任何類里面<test>標(biāo)簽將查看值參數(shù)定義在<test>,而testng.xml文件中的類的其余部分將看到定義在<suite>中值
  編譯使用javac的測試用例類。
  C:TestNG_WORKSPACE>javac ParameterizedTest1.java
  現(xiàn)在,運行testng.xml,其中將運行parameterTest方法。TestNG的將試圖找到一個命名myName的第一<test>標(biāo)簽的參數(shù),然后,如果它不能找到它,它會搜索包圍在的<suit>標(biāo)簽。
  C:TestNG_WORKSPACE>java -cp "C:TestNG_WORKSPACE" org.testng.TestNG testng.xml
  驗證輸出。
  Parameterized value is : manisha
  ===============================================
  Suite1
  Total tests run: 1, Failures: 0, Skips: 0
  ===============================================
  TestNG 對testng.xml 的參數(shù)的類型指定的值會自動嘗試轉(zhuǎn)換。下面是支持的類型:
  String
  int/Integer
  boolean/Boolean
  byte/Byte
  char/Character
  double/Double
  float/Float
  long/Long
  short/Short

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