2009-07-19 7 views
4

TestNGのドキュメントから、クラスまたはメソッドに(enabled = false)を適用できることがわかりました。しかし、それはメソッドに適用された場合にのみ機能するようです。@Test(enabled = false)はTestNGのクラスで動作しますか?

誰も同じことを見て、解決策を見つけましたか?

私はItelliJ IDEA 7.0でテストを行っています。

+0

読者の便宜のために、「有効」にすることはできず、「有効にする」必要があります。 – flow2k

答えて

8

私のために働くようだ:

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

結果:

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

がtrueにfalseを変更する:ここで

B.btest1 

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

が伝えるのは難しい(あなたをトリップかもしれないものですコードを提供していないため):

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

このケースでは、メソッドの@Test注釈を繰り返して、enabled属性をデフォルト値のtrueに上書きするため、テストが実行されます。

ソリューションは、メソッドレベルでenabled=falseをあらためて表明することである。

@Test(enabled = false) 
public class B { 

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

私はそれが少し直感に反しだが、それは、メソッドのアノテーションは、クラスの注釈を上書きすることができますように、一貫性があるために必要です承知しています。

関連する問題