2016-01-22 143 views
3

我想運行一個junit4測試套件並在build.gradle中使用過濾器指定它,但gradle(版本2.10)未找到測試。 有沒有辦法在gradle中運行指定的junit測試套件?過濾junit測試套件時未找到測試

我的測試套件類

 

    @RunWith(Suite.class) 
    @SuiteClasses({ TestFoo.class, TestBar.class }) 
    public class MyTestSuite { 

    } 

的build.gradle

 

    test { 
     filter { 
      includeTestsMatching "*MyTestSuite" 
     } 
    } 

+0

同樣的問題:https://stackoverflow.com/questions/46719406/gradle-test-task-does-not-run -junit-test-with-category-and-runwith-annotations – isobretatel

回答

1

DSL documentation的例子使用include代替:

test { 
    // explicitly include or exclude tests 
    include 'org/foo/**' 
    exclude 'org/boo/**' 
} 
+0

是的,包括作品。(在我的情況下,通過添加包含'**/MyTestSuite.class'的行)過濾器不適用於junit測試套件? –

0

濾波器大概意思在組合使用包括和排除。 Doc說:允許過濾執行測試

所以,如果你想運行只是一個單一的方法foo:

test { 
    include '**MyTestSuite.class' 
    filter { 
      includeTestsMatching "*TestBar.foo" 
    } 
}