TestNG(一)——起步

你可以從 http://testng.org/doc/documentation-main.html 獲取信息。


一、簡介

   TestNG是test next generation的縮寫,即下一代測試技術,如果接觸過junit或者nunit,可能比較好理解,但是相信有很多人和本人一樣,沒接觸過,純菜鳥,這樣的話,就一步一步來,從最基礎的寫起吧。

   TestNG是一個基於註釋的測試框架,即可以做單元測試,也可以用來做集成測試。


   一個完整的測試,包括三步:

   編寫測試業務邏輯,並在代碼中插入TestNG annotations;

   在testng.xml或者build.xml中添加自己的測試信息;

   運行TestNG.

注:TestGN支持的annotation程序清單:

——@BeforeSuite,@BeforeTest,@BeforeClass,@BeforeMethod,@BeforeGroups

——@AfterSuite,@AfterTest,@AfterClass,@AfterClass,@AfterGroups

——@DataProvider

——@ExpectedExceptions

——@Factory

——@Test

——@Parameters



二、testNG.xml基礎

   testNG.xml是一個配置文件,testNG運行時從這個文件中獲取信息,比如要運行哪個類中的哪個方法等等。如果你編寫testNG.xml的時候,沒有書寫的提示,可以在頭加上:

<!DOCTYPE suite PUBLIC "--//beust.com//testng//testng 1.0//EN" "http://beust.com/testng/testng-1.0.dtd" >


   先了解一些基本概念,不懂沒關係,先看:

   一個suite(套件)就是一個xml文件(雖然標題是testNG.xml,大家不要被它侷限,名字可以任意取的),它可以由一個或多個測試組成,標記爲<suite>;

   一個test(測試)由一個或者多個類組成,標記爲<test>;

   一個class(類)由一個或者多個方法組成,標記爲<class>;

   method(方法)在你的代碼中就是由@Test標記的一個java 方法。


   如前所述,我們可以在xml文件中指定我們此次運行的測試的配置,比如我們可以指定包名、類名、方法名等等,先看一個xml文件,有個印象:


<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
                                
<suite name="Suite1" verbose="1" >
  <test name="Nopackage" >
    <classes>
       <class name="NoPackageTest" />
    </classes>
  </test>
                               
  <test name="Regression1">
    <classes>
      <class name="test.sample.ParameterSample"/>
      <class name="test.sample.ParameterTest"/>
    </classes>
  </test>
</suite>

   可以看到,這個suite包含了兩個test,第二個test有兩個class。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章