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ù)類型??但至少不能傳復(fù)雜對象),第二數(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 閱讀(2220) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 花垣县| 崇阳县| 清苑县| 浑源县| 清流县| 满洲里市| 东乡族自治县| 炉霍县| 临武县| 乌兰察布市| 册亨县| 星座| 武安市| 濉溪县| 常山县| 河池市| 广元市| 湖北省| 青神县| 龙南县| 密山市| 秦安县| 桐梓县| 大余县| 阿勒泰市| 嘉义市| 丰顺县| 三门县| 开江县| 夏津县| 萝北县| 华宁县| 晋城| 大埔县| 太原市| 玉环县| 平原县| 宁陵县| 灵石县| 高邮市| 仁化县|