Как применить два @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 аннотаций.

Другие вопросы по тегам