Testng执行顺序控制

来源:互联网 发布:精通matlab混合编程 编辑:程序博客网 时间:2024/05/18 00:25

1.class执行顺序控制-testng.xml之preserve-order

preserve-order:用来控制<test>里面所有<classes>的执行顺序。<test>中默认的preserve-ordertrue,表示<test>下所有<classes>按照顺序执行,如:

1. <?xml version="1.0" encoding="UTF-8"?>2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >3. 4. <suite name="suite1">5. <test name="test" preserve-order="true">6. <classes >7. <class name="com.pack.ClassTwo">8. <class name="com.pack.ClassThree">9. <class name="com.pack.ClassOne">10. </classes >11. </test>12. </suite>
执行顺序:按照ClassTwo,ClassThree,ClassOne执行

【注】 一个<class>类里面可能存在多个测试方法(被@Test注解的方法),这些方法的执行顺序不受preserve-order控制。默认测试方法的执行顺序是按照方法名的首字母升序排序执行的。


2.@test执行顺序控制

(1) 使用priority指定执行顺序(默认值为0),数值越小,越靠前执行,如:

@Test(priority = 0) public void testMethod1() { } @Test(priority = 1) public void testMethod2() { } @Test(priority = 2) public void testMethod3() { }

执行顺序:按照testMethod1testMethod2testMethod3顺序执行

 

(2) 方法名称按首字母排序

因为默认执行顺序是按照方法名的首字母升序排序执行。那么,有目的地去定制方法名称,就可以让方法按照我们要求的顺序执行。如:

 @Test public void B() {  } @Test public void A() { } @Test public void C() { }
执行顺序:按照ABC顺序执行。

 

(3) 在xml里面使用<include>指定需要执行的方法和顺序,如:

 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="Preserve order test runs">   <test name="test" preserve-order="true">     <classes>       <class name="com.pack.ClassOne">           <methods>               <include name="B" />               <include name="A" />          </methods>       </class>    </classes>   </test></suite>
执行顺序:ClassOne执行两个测试方法,先执行B,然后执行A

 

6 0
原创粉丝点击