2015-09-04 2 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 для более Datails о Suites в JUnit 4 .

Смежные вопросы