2015-09-04 78 views
0

我試圖創建一個Junit測試套件以及使用PowerMockRunner但它不起作用。使用PowerMockRunner與Junit測試套件

@RunWith(PowerMockRunner.class) 
@PowerMockRunnerDelegate(MainTest.class) 
@Suite.SuiteClasses({ MainTest.Class1Test.class }) 
@PrepareForTest({ 
    StaticFieldsProvider.class 
}) 
public class MainTest extends Suite { 

public MainTest(Class<?> klass, RunnerBuilder builder) 
     throws InitializationError { 
    super(klass, builder); 
} 

public static class TestBase { 
    @Before 
    public void setUp() { 
     MockitoAnnotations.initMocks(this); 
     PowerMockito.mockStatic(StaticFieldsProvider.class); 
    } 
} 

public static class Class1Test extends TestBase { 
    @Before 
    public void setUp() { 
     super.setUp(); 
    } 

    @Test 
    public void test(){ 
     assertTrue(true); 
    } 
} 
} 

當我嘗試運行,它失敗,錯誤 -

java.lang.IllegalArgumentException異常:測試類只能有一個構造 在org.junit.runners.model.TestClass( TestClass.java:40)

有關如何在上述情況下使用PowerMockRunner的任何建議?

感謝

+0

爲什麼你想要一個構造函數? – Makoto

+0

沒有這個構造函數,它不會真正編譯,因爲'Suite'類中沒有默認的構造函數。 – RandomQuestion

回答

0

不得延長Suite,因爲這是JUnit 3中的一部分,您正在使用JUnit 4中(取下extends和構造函數)。請參閱JUnit Wiki約套房JUnit 4中更datails 。