2014-11-28 5 views
7

Кто-нибудь знает, как справиться с этим.Несколько runwith для класса тестов junit

@RunWith(SpringJUnit4ClassRunner.class) 
@RunWith(Parametrized.class) 

@ContextConfiguration("/META-INF/blah-spring-test.xml") 
public class BlahTest 
.. 

, поэтому я хочу, чтобы иметь тест весной природы и в то же время хотят, чтобы он параметрироваться, чтобы избежать дублирования кода ...

+4

Duplicated: http://stackoverflow.com/questions/24431427/multiple-runwith-statements-in-junit. –

+3

Я бы предположил, что это не совсем дубликат, так как бегуны разные. –

ответ

4

Вы не можете использовать два бегуна, как это отмечено в комментируемого после. Вы должны использовать бегун Parameterized, используя Spring TestContextManager, чтобы загрузить контекст Spring.

@Before 
public void before() throws Exception { 
    new TestContextManager(getClass()).prepareTestInstance(this); 
} 
0

По Spring Framework 4.2, JUnit-тесты на основе интеграции теперь могут быть выполнены с правилами JUnit вместо того SpringJUnit4ClassRunner. Это позволяет проводить тесты интеграции Spring с альтернативными бегунами, такими как Parameterized JUnit или сторонние бегуны, такие как MockitoJUnitRunner. См. Более подробную информацию о spring doc.

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