2014-03-28 43 views
3

我想知道如何調用具有@Test註釋的測試方法。 Testng是否在內部創建測試類的對象?如果是,那麼該物體何時死亡? 這裏是我的TestNG的文件Testng如何創建測試類的對象並調用Test類的方法?

<test name="lOGIN" preserve-order="true"> 
<classes> 
    <class name="xtr.chaut.test.LoginConnectHealthy"> 
     <methods> 
     <include name="openLoginPage" /> 
     <include name="validLogin" />  
     </methods> 
    </class> 
      <class name="xtr.chaut.test.HomeTest"> 
     <methods> 
     <include name="patientProfile" />  
     </methods> 
    </class> 
      <class name="xtr.chaut.test.LoginConnectHealthy"> 
     <methods> 
     <include name="logout" />  
     </methods> 
    </class> 

這裏LoginConnectHealthy類出現了兩次。 testng是否爲它們使用相同的對象,或者爲它們創建了不同的實例?

+0

在這一點上,請說明您爲回答自己的問題所做的努力。例如,你有Google嗎?你看了TestNG文檔嗎? etc – Vish

+0

我已經在谷歌上搜索它。但我沒有找到任何東西。即使是testng文件也不能解釋它 – nilesh

+0

你有沒有試過將詳細程度設置爲10?如果你這樣做TestNG告訴你哪些測試是/不包括以及爲什麼。 –

回答

0

要回答你的問題:最好使用「AfterMethod」註釋而不是實例化一個單獨調用「註銷」的新類。 TestNG通常不被設計爲在測試組中調用同一個類兩次。它的設計內容是在一個測試組中各設置一個類。請查看<packages>標記和preserve-order屬性的文檔,以查看最有可能的情況。它可能巧合地工作,但你的milage會有所不同。

TestNG測試具有與JUnit測試一樣的生命週期,具有「之前」和「之後」事件。如果您查看由TestNG運行生成的.html報告,您將在報告中看到這些事件。因此,測試對象的使用壽命不應有任何問題。只需閱讀所有TestNG文檔即可瞭解它,其中包括工廠如何工作以及數據提供者的信息。您可以poke around on this example I made,運行它mvn.bat test,然後找到名爲methods.html的.html報告文件。

相關問題