<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統計

    其他鏈接

    友情鏈接

    最新評論

    TestNG官方文檔中文版(4)-運行TestNG

    4 - 運行TestNG

    TestNG可以以不同的方式調用:

        * Command line
        * ant
        * Eclipse
        * IntelliJ's IDEA

    1) 命令行

    假設你已經將TestNG加入到class path,調用TestNG最簡單的方法事下面的:

    java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

    必須指定最少一個描述你試圖測試的TestNG suite的xml文件。另外,下面的命令行參數可以使用:

    命令行參數列表

    選項        參數                文檔說明
    -d        一個目錄            生成報告的目錄( test-output)
    -sourcedir    分號隔開的目錄列表        帶有javadoc注釋的測試源文件目錄. 這個選項只在使用javadoc類型的annotation時才有效.
                            (例如 "src/test" or "src/test/org/testng/eclipse-plugin;src/test/org/testng/testng").
    -testclass    可以在classpath路徑中找到的逗號分隔的類列表。逗號分隔的類文件列表(例如 "org.foo.Test1,org.foo.test2").
    -groups        逗號分隔的組列表        要運行的組列表(例如 "windows,linux,regression").
    -excludegroups    逗號分隔的組列表        不想包含在這次運行中的組列表
    -testrunfactory    可以在classpath中找到的java類    指定測試的runner.這個類需要實現接口org.testng.ITestRunnerFactory .
    -listener    可以在classpath路徑中找到的逗號分隔的類列表。    指定測試的listener. 這個類需要實現接口org.testng.ITestListener
    -parallel    methods|tests            如果指定, 設置運行測試時如何使用并發線程的默認機制.如果不設置,默認機制是完全不使用并發線程。這個設置可以被suite定義覆蓋.
    -threadcount    并發測試運行時默認使用的線程數    用于設置并發測試時默認的線程數. 只在并發模式被選擇時才生效 (例如, 打開 -parallel 選項). 這個設置可以被suite定義覆蓋.
    -suitename    測試套件使用的默認名稱.        指定在命令行上定義的測試套件的名稱。如果suite.xml文件或源代碼指定了另外一個不同的套件名稱,這個選項將被忽略。可以創建帶空格的套件名稱,如果在名稱前后加雙引號如"like this".
    -testname    測試使用的默認名稱.        指定在命令行上定義的測試的名稱。如果suite.xml文件或源代碼指定了另外一個不同的測試名稱,這個選項將被忽略。可以創建帶空格的測試名稱,如果在名稱前后加雙引號如"like this".
    -reporter    擴展配置用于自定義報告listenner.    類似 -listener 選項, 除了容許reporter示例上由javabean形式的配置.
        例如: -reporter com.test.MyReporter:methodFilter=*insert*,enableFiltering=true

    可以通過不帶任何參數直接調用TestNFG來獲得這個文檔。

    可以將命令行開關寫到txt文件中,例如c:\command.txt, 然后告訴TestNG使用這個文件類找到參數:

      C:> more c:\command.txt
      -d test-output testng.xml
      C:> java org.testng.TestNG @c:\command.txt

    另外,可以通過jvm的命令行來傳遞參數給TestNG,例如

    java -Dtestng.test.classpath="c:/build;c:/java/classes;" org.testng.TestNG testng.xml

    TestNG能夠理解的參數
    屬性             類型                     文檔
    testng.test.classpath     分號分隔的包含測試類的一系列目錄     如果這個屬性被設置,TestNG將使用它替代從class path來查找測試類. 如果你正在使用在xml文件里面的包標簽并且在classpath路徑中由很多類而大部分都不是測試類的時候比較方便

    舉例:

    java org.testng.TestNG -groups windows,linux -testclass org.test.MyTest

    注意 ant 任務和testng.xml容許用更多的參數來啟動TestNG(包含的方法,指定的參數,等等),因此可以認為命令行適用于學習TestNG并且想快速入門。


    2) Ant

    可以這樣定義TestNG的ant任務:

    <taskdef resource="testngtasks"
             classpath="testng.jar"/>

    這個任務運行TestNG測試,并且通常是在單獨的jvm中。接受下面的屬性:

    屬性名            描述                是否必須
    annotations         字符串"JDK"或者"Javadoc". 定義測試適用的注釋類型.如果使用"Javadoc", 則需要同時指定"sourcedir".     不是必須. 如果適用jkd5則默認為"JDK",如果適用jdk1.4則默認為"Javadoc"
    classfilesetref     要運行的測試類的FileSet結構的引用.      
    classpath         要運行的測試的PATH-like 結構.      
    classpathref         要運行的測試的PATH-like 結構的引用.      
    dumpCommand         打印TestNG啟動命令.     不是必須,默認false
    enableAssert         開啟JDK 1.4的斷言.     不是必須,默認true
    failureProperty     失敗發生時要設置的屬性的名稱. 只有haltonfailure沒有設置時才有效.     不是必須.
    haltonfailure         如果測試運行期間發生失敗,停止構造過程.     不是必須,默認false
    haltonskipped         如果發生至少一次測試跳過,停止構造過程.        不是必須,默認false
    groups             要運行的組列表,空格或逗號分隔   
    excludedgroups         排除在外的組列表,空格或逗號分隔
    jvm             使用的jvm,將被Runtime.exec()運行     java
    listeners         逗號或空格分隔的全路徑類列表,需要實現org.testng.ITestListener或org.testng.IReporter     不是必須
    outputdir         報告輸出目錄             不是必須,默認輸出到test-output.
    skippedProperty     當發生測試被跳過時設置的property的名稱.只有當haltonskipped沒有設置時才使用     不是必須
    sourcedir         用于jdk1.4測試的PATH-like結構(使用JavaDoc形式的annotations)      
    sourcedirref         用于jdk1.4測試的PATH-like結構的引用(使用JavaDoc形式的annotations)           
    suiteRunnerClass     TestNG啟動器的全路徑名稱    不是必須.  默認使用org.testng.TestNG
    parallel         運行測試時使用的并行模式 - methods或者tests     不是必須 - 如果沒有指定,并行模式不被選擇
    threadCount         運行時使用的線程數量。如果并行模式被同時指定否則忽略。     默認1
    testJar         包含測試和套件定義的jar包路徑
    timeOut         所有測試必須運行完成的最大超時時間,單位毫秒
    useDefaultListeners     是否使用默認監聽器和報告器.     默認true.
    workingDir         運行TestNG前ant任務應該轉移到的目錄。
    xmlfilesetref        用于要測試的套件定義的FileSet結構的引用      
    suitename         設置測試套件的默認名稱如果在suite的xml文件或者源代碼中都沒有被定義。    不是必須,默認設置為"Ant suite"
    testname        設置測試的默認名稱如果在suite的xml文件或者源代碼中都沒有被定義。    不是必須,默認設置為"Ant test"


    屬性classpath, classpathref或者內嵌的<classpath>必須設置一個,用于提供測試的classpath

    屬性xmlfilesetref, classfilesetref 或者內嵌的 <xmlfileset>, 分別的<classfileset>必須使用用來提供測試

    注意:如果使用jdk1.4,屬性attributes sourcedir, sourcedirref 或者內嵌的 <sourcedir> 必須提供.

    注意:使用<classfileset> 并不自動按添加測試類到classpath: 需要報告這些在classpath中的任務要工作的類

    內嵌元素
    classpath
     <testng> 任務支持一個內嵌的<classpath> 元素來提供PATH-like的結構.

    bootclasspath
    bootstrap類文件的位置可以用這個PATH形式的結構指定-如果fork沒有設置則被忽略

    xmlfileset
    套餐定義(testng.xml)可以通過一個FiltSet結構傳遞給任務

    classfileset
    TestNG可以直接在類上運行,同樣支持FiltSet結構

    sourcedir
    PATH形式的結構,用于jdk1.4的測試,使用javadoc annotation

    jvmarg
    通過內嵌的<jvmarg>元素將額外的參數傳遞給新的虛擬機,例如:

    <testng>
       <jvmarg value="-Djava.compiler=NONE" />
       <!-- ... -->
    </testng>

    sysproperty
    使用內嵌的<sysproperty>元素來指定類需要的系統屬性。在測試的執行期間虛擬機可以獲取這些屬性。 這個元素的屬性和環境變量相同。

    <testng>
       <sysproperty key="basedir" value="${basedir}"/>
       <!-- ... -->
    </testng>
    將運行測試并且使得測試可以訪問basedir屬性

    reporter

    內部的<reporter>元素是一個可選的方式,用于注入自定義的報告監聽器,容許用戶為調整運行時的報告期行為而
    這個元素強制要求設置classname屬性,指示自定義監聽器的類。為了設置報告期屬性,<reporter>元素可以包含多個內嵌的<property>元素來提供name和value屬性,如下所示:

    <testng ...>
       ...
       <reporter classname="com.test.MyReporter">
          <property name="methodFilter" value="*insert*"/>
          <property name="enableFiltering" value="true"/>
       </reporter>
       ...
    </testng>

    public class MyReporter {

      public String getMethodFilter() {...}
      public void setMethodFilter(String methodFilter) {...}
      public boolean isEnableFiltering() {...}
      public void setEnableFiltering(boolean enableFiltering) {...}
      ...
    }
    請注意這里僅僅支持有限的屬性類型:String, int, boolean, byte, char, double, float, long, short.



    env
    可以通過內嵌的 <env>元素給TestNG的單獨的虛擬機傳遞指定的環境變量。
    要查閱<env> 元素屬性的詳細描述,請查看ant的exec任務的描述。

    舉例:
    Suite xml

    <testng classpathref="run.cp"
            outputDir="${testng.report.dir}"
            sourcedir="${test.src.dir}"
            haltOnfailure="true">
     
       <xmlfileset dir="${test14.dir}" includes="testng.xml"/>
    </testng>

    Class FileSet

    <testng classpathref="run.cp"
            outputDir="${testng.report.dir}"
            haltOnFailure="true"M verbose="2">
        <classfileset dir="${test.build.dir}" includes="**/*.class" />
    </testng>

    posted on 2008-03-22 21:02 sky ao 閱讀(5458) 評論(0)  編輯  收藏 所屬分類: software test

    主站蜘蛛池模板: 久久精品无码一区二区三区免费| 亚洲熟女少妇一区二区| 美女被羞羞网站免费下载| 亚洲午夜精品久久久久久浪潮 | 亚洲熟妇av一区| 麻豆精品国产免费观看| 91av免费在线视频| 亚洲人成电影在线观看网| 四虎永久在线精品免费影视| 久久久久久一品道精品免费看 | 一级视频免费观看| 亚洲精品国产情侣av在线| 免费看国产一级特黄aa大片| 日日麻批免费40分钟无码| 亚洲Av无码国产一区二区| 亚洲国产另类久久久精品| 男女啪啪永久免费观看网站| 精品国产污污免费网站 | 真人无码作爱免费视频| 亚洲一区二区影院| 亚洲偷自拍拍综合网| 99爱在线精品免费观看| 成av免费大片黄在线观看| 亚洲愉拍一区二区三区| 无码久久精品国产亚洲Av影片| 国产免费av片在线播放| 久草免费在线观看视频| 热99RE久久精品这里都是精品免费| 亚洲av成人片在线观看| 亚洲视频一区在线观看| 亚洲一区二区三区无码中文字幕| 免费看香港一级毛片| 久久WWW免费人成一看片| A片在线免费观看| 色老头综合免费视频| 亚洲乱亚洲乱妇24p| 亚洲精品高清国产麻豆专区| 亚洲精品无码不卡在线播HE| 四虎影在线永久免费观看| 久久精品女人天堂AV免费观看| 久久99国产乱子伦精品免费 |