2009-07-19 7 views
4

Aus dem TestNG-Dokument kann ich sehen, dass (aktiviert = falsch) auf eine Klasse oder Methode angewendet werden kann. Aber es scheint, dass es nur funktioniert, wenn es auf eine Methode angewendet wird.Funktioniert @Test (aktiviert = falsch) für eine Klasse in TestNG?

Hat jemand das gleiche gesehen, eine Lösung gefunden?

Ich führe Tests in ItelliJ IDEA 7.0 übrigens.

+0

Zum Vorteil der Leser kann es nicht aktiviert werden und muss aktiviert sein. – flow2k

Antwort

8

Es ist für mich zu arbeiten scheint:

@Test(enabled = false) 
public class B {  
    public void btest1() { 
    System.out.println("B.btest1"); 
    } 
} 

Ergebnis:

=============================================== 
SingleSuite 
Total tests run: 0, Failures: 0, Skips: 0 
=============================================== 

auf true false ändern:

B.btest1 

=============================================== 
SingleSuite 
Total tests run: 1, Failures: 0, Skips: 0 
=============================================== 

Hier, was könnte man (hart stolpern zu sagen, da Sie keinen Code angegeben haben):

@Test(enabled = false) 
public class B { 
@Test 
public void btest1() { 
    System.out.println("B.btest1"); 
} 
} 

diesem Fall wird der Test, weil durch Wiederholung des @Test Anmerkung über die Methode ausführen, werden Sie überschreiben auch die enabled Attribut auf den Standardwert, der true ist.

Die Lösung ist enabled=false auf der Methode Ebene zu wiederholen:

@Test(enabled = false) 
public class B { 

@Test(enabled = false) 
public void btest1() { 
    System.out.println("B.btest1"); 
    } 
} 

Ich bin bewusst, dass es ein wenig eingängig ist, aber es ist notwendig, um in der Art und Weise Methode Anmerkungen konsistent zu sein Klassen Anmerkungen überschreiben können.

Verwandte Themen