Как применить два @RunWith в весеннем тесте загрузки стартера
Я использую стартовый тест весенней загрузки для написания тестовых примеров JUnit. Я хотел бы использовать JunitParamrunner, который облегчает передачу файлов для параметризованного теста. В основном он считывает данные из файла строка за строкой и для каждой строки вызывает тестовый пример. Проблема состоит в том, чтобы использовать оба, мне нужно передать @RunWith с SpringJUnit4ClassRunner, а также JUnitParamsRunner. Я не могу понять, как это сделать. Может ли кто-нибудь привести некоторые выводы.
2 ответа
SpringClassRule упоминается @wjans, если это лучшее решение, но если ваша версия Spring меньше 4.2 (последняя версия spring-boot-starter-test зависит от версии 4.1.7 spring), вы можете инициализировать контекст в конструкторе test:
@ContextConfiguration(<your context location>)
@RunWith(JUnitParamsRunner.class)
public class ParameterizedTestWithSpring {
private TestContextManager testContextManager;
public ParametrizedTestWithSpring() throws Exception {
this.testContextManager = new TestContextManager(getClass());
this.testContextManager.prepareTestInstance(this);
}
// your test methods
Вы можете попытаться добиться интеграции в Spring, используя SpringClassRule вместо @RunWith
аннотаций.