2016-11-23 2 views
0

Mit TestNG mit ist es möglich, auf/Ausschluss spezifische Methoden in der testng XML-Datei wie folgt:Wie nur bestimmte Methoden in TestNG umfasst eine Fabrik

<classes> 
    <class name="WebTest"> 
    <methods> 
     <include name="testMethod1"/> 
    </methods> 
    </class> 
</classes> 

Wenn eine Fabrik mit Instanzen von WebTest die Dokumentation zur Verfügung zu stellen besagt, dass Sie nur die Factory-Klasse in der xML enthalten sollte, wie folgt:

<classes> 
    <class name="WebTestFactory" /> 
</classes 

Das Problem, das ist, wenn eine Fabrik mit, TestNG alle kommentierten Methoden der Klasse WebTest läuft. Was ich möchte, ist, etwas zu tun wie folgt aus:

<classes> 
    <class name="WebTestFactory"> 
    <methods> 
     <include name="testMethod1"/> 
    </methods> 
    </class> 
</classes> 

Wo testMethod1 ein Verfahren zur Klasse gehört, ist WebTest, und wo Instanzen WebTest durch die WebTestFactory zurückgegeben werden.

Allerdings, wenn ich diesen TestNG versuche, beklagt sich, dass WebTestFactorytestMethod1 nicht enthält.

Gibt es eine Möglichkeit, Methodeneinschluss/-ausschluss in der XML-Datei anzugeben, wenn eine Factory mit TestNG verwendet wird?

Antwort

0

Wie ich weiß, ist es nicht möglich, Methode von einer Fabrik zu filtern. Einschließen/Ausschließen wird verwendet, wenn Sie eine Factory und Testmethoden in derselben Klasse mischen. Ich öffnete ein Ticket über die Notwendigkeit: https://github.com/cbeust/testng/issues/1253 Fühlen Sie sich frei, dort zu kommentieren.

Als Umgehungslösung können Sie versuchen, a method interceptor zu implementieren, wodurch die Testmethoden abhängig von Ihrer Geschäftslogik (z. B. Systemeigenschaften) deaktiviert werden.

+0

Vielen Dank für die Antwort und für das Öffnen des Problems! Fürs Erste scheint eine Config-Datei einer Art + Methoden-Interceptor eine gute Option zu sein. –

Verwandte Themen