2015-06-16 44 views
0

我以編程方式創建我的testng.xml,並且想要添加每個我想運行的方法。我做它通過以下方式現在:TestNG運行每個方法,並忽略testng.xml中包含的方法

XmlClass myClass = new XmlClass("test.login.LoginTest"); 
List<XmlInclude> includedMethods = new ArrayList<XmlInclude>(); 

for (int k = 0; k < 10; k++) { 

    includedMethods.add(new XmlInclude("golog" + k)); 
} 

myClass.setIncludedMethods(includedMethods); 

據我所產生的testng.xml文件,似乎它工作正常:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite thread-count="11" verbose="11" name="Login Test" parallel="tests"> 
    <test name="1" group-by-instances="true"> 
    <classes> 
     <class name="test.login.LoginTest"> 
     <methods> 
      <include name="golog1"/> 
      <include name="golog2"/> 
      <include name="golog3"/> 
      <include name="golog4"/> 
      <include name="golog5"/> 
      <include name="golog6"/> 
      <include name="golog7"/> 
      <include name="golog8"/> 
      <include name="golog9"/> 
     </methods> 
     </class> <!-- test.login.LoginTest --> 
    </classes> 
    </test> <!-- 1 --> 
</suite> <!-- Login Test --> 

的問題是,當我的代碼得到執行在生成xml文件後,每個@Test方法都會執行(這些方法也有完全不同的名稱,例如「gssig01」),儘管我沒有包含它們。

我的問題是,我必須在包含任何東西之前排除每種方法,否則我做錯了什麼? :)

預先感謝您!

+0

您最近如何運行測試?你在使用maven嗎? –

+0

是的,我正在使用maven。 – peetya

+0

你可以添加maven設置嗎?你如何告訴maven運行你生成的xml而不是執行默認配置? –

回答

1

試試這個代碼,它的工作原理

//Create a list which can contain the classes that you want to run including methods. 
List<XmlClass> myClasses = new ArrayList<XmlClass>(); 
XmlClass xmlclass = new XmlClass("stack1.LoginTest"); 

List<XmlInclude> includedMethods = new ArrayList<XmlInclude>(); 

for (int k = 0; k < 5; k++) { 

    includedMethods.add(new XmlInclude("golog" + k)); 
} 
xmlclass.setIncludedMethods(includedMethods); 

myClasses.add(xmlclass); 

這裏是輸出在那裏我有7種方法,只有4跑到

golog1test1 
golog2test2 
golog3test3 
golog4test4 

=============================================== 
StackOverFlow-Answer 
Total tests run: 4, Failures: 0, Skips: 0 
=============================================== 

如果您要檢查的滿級:
RunTestNG.java - 測試轉輪類別
LoginTest.java - 測試類

+0

@peetya - 任何更新? –

+0

對不起,延遲迴復。經過一天它開始對我工作很好,所以它似乎是一個緩存問題或類似的東西。但無論如何謝謝你的回答和你的幫助。 – peetya