2017-06-22 35 views
3

我想運行一個JUnit4測試使用類別對AllTests測試套件。在運行Suite3的示例1中運行,運行Suite2的示例2生成以下異常。JUnit4類別結果是不同的@SuiteClasses與TestSuite

 
java.lang.Exception: Category annotations on Parameterized classes 
are not supported on individual methods. 

我需要在測試執行時生成TestSuite。

有關如何糾正問題的任何建議? 由於

例1

@RunWith(Categories.class) 
@IncludeCategory(SlowTest.class) 
@SuiteClasses(AllTests3.class) 
public class Suite3 { 
} 

@RunWith(Suite.class) 
@SuiteClasses({ 
      MathUtilTest.class, MathUtil2Test.class 
}) 
public class AllTests3 { 
} 

例2

@RunWith(Categories.class) 
@IncludeCategory(SlowTest.class) 
@SuiteClasses(AllTests2.class) 
public class Suite2 { 
} 

public final class AllTests2 { 
    public static TestSuite suite() { 
     final TestSuite result = new TestSuite(); 
     result.addTest(new JUnit4TestAdapter(MathUtilTest.class)); 
     result.addTest(new JUnit4TestAdapter(MathUtil2Test.class)); 
     return result; 
    } 

    private AllTests2() { 
    } 

回答

1

有JUnit 4中的最新的穩定版本各種相關的錯誤(4.12):

https://github.com/junit-team/junit4/issues/1203

有人爲未發現的問題做了修補sed的4.13快照版本,您可以構建和克隆他們的GitHub在https://github.com/junit-team/junit4

然而回購了檢查自己,我跑了幾個測試自己,不得不得出這樣的結論@Category註解並沒有做工作所用的時MathUtilTest類,但只有在註解類時,註釋在單獨的測試方法上使用時將被忽略。

+0

謝謝。我希望能夠註解方法。將研究構建4.13罐子。 –

相關問題