posts - 32,comments - 75,trackbacks - 0

          4.         參數(shù)

          Junit是不帶任何參數(shù)的,不論是測試方法還是配置方法,而TestNG都是可以添加參數(shù)的,有2種方法。

          (1)       使用Parameter參數(shù)

                  @Parameters({ "first-name" })
                  @Test
                  public void testSingleString(String firstName) {
                  System.out.println("Invoked testString " + firstName);
                  assert "Cedric".equals(firstName);
                  }
                  參數(shù)的值放到配置文件中
                  <suite name="My suite">
                  <parameter name="first-name"  value="Cedric"/>
                  <test name="Simple example">

             這種方法偶爾用之還可以,但是很遺憾的是第一只能傳String(可能可以其他的基本數(shù)據(jù)類型??但至少不能傳復雜對象),第二數(shù)據(jù)寫在配置文件中,不能所見即所得。

          但是下面的方法真的給我們驚喜。

          (2)       DataProvider

            這是從4.0以后增加的功能,看看怎么實現(xiàn)。

          // This method will provide data to any test method that declares that its Data Provider
          // is named "test1"
          @DataProvider(name = "test1")
          public Object[][] createData1() {
          return new Object[][] {
          new Object[] { "Cedric", new Integer(36) },
          new Object[] { "Anne", new Integer(37)},
           };
          }

          // This test method declares that its data should be supplied by the Data Provider
          // named "test1"
          @Test(dataProvider = "test1")
          public void verifyData1(String n1, Integer n2) {
          System.out.println(n1 + " " + n2);
          }

          執(zhí)行的結(jié)果

          Cedric 36

          Anne 37

           

          DataProvider返回的是個2維數(shù)組的對象,什么數(shù)據(jù)都可以提供了吧,而且可以讓你的測試方法執(zhí)行多次。而且最重要的是和測試方法寫在一起,所見即所得。

          5.         Ant的集成和Daily Build

          TestNGAnt提供了很好的支持,這是我寫得測試用的Ant腳本

          <project default="testng">

                 <property file="build.properties" />

                 <path id="cpath">

                        <fileset dir="lib">

                               <include name="*.jar"/>

                        </fileset>

                 </path>

          //定義testng的任務(wù)

                 <taskdef resource="testngtasks" classpath="lib/testng-4.4-jdk15.jar" />

                 <target name="compile">

                        <mkdir dir="test/classes"/>

                         <javac destdir="test/classes"

                                      srcdir="${testng.dir}"

                                                   debug="true"

                                                   encoding="GBK" >

                              <classpath refid="cpath"/>

                        </javac>

                 </target>

                 //執(zhí)行testng的任務(wù)

                 <target name="testng" depends="compile">

                        <testng classpath="test/classes">

                               <xmlfileset dir="${configure.dir}" includes="testing.xml" />

                        </testng>

                 </target>

          </project>

          簡單的不能在簡單了,你只要告訴ant來調(diào)用,然后告訴ant配置文件在哪里,剩下的事都交給testng自己的配置文件去做就行了,然后ant以后都不用修改了。不建議將任務(wù)的細節(jié)寫在ant里面,首先功能不如testng自己的配置文件強大,而且ant需要維護。

          posted on 2005-12-15 10:48 fanta 閱讀(2222) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 泗洪县| 汉阴县| 怀柔区| 霍林郭勒市| 观塘区| 元阳县| 十堰市| 黄陵县| 柞水县| 荥经县| 溧水县| 余庆县| 兰西县| 南漳县| 柞水县| 淳化县| 宝山区| 郧西县| 肥东县| 江西省| 乌拉特中旗| 荥经县| 古浪县| 华亭县| 桓台县| 永定县| 肃宁县| 大宁县| 于都县| 鸡泽县| 怀安县| 尤溪县| 宁陵县| 土默特右旗| 于都县| 潼南县| 榆社县| 枣阳市| 宝兴县| 梁平县| 探索|