У меня есть несколько десятков тестов, которые используют все настройки и слушатели для всех тестов. Это означает, что следующие строки повторяются:Как я могу использовать настройки по умолчанию и тестовые прослушиватели по умолчанию для всех тестов Spring?
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = WebDriverConfig.class)
@TestExecutionListeners(listeners = {ScreenshotTaker.class, DependencyInjectionTestExecutionListener.class})
Я создал следующее:
public class WebDriverRunner extends SpringJUnit4ClassRunner {
public WebDriverRunner(Class<?> clazz) throws InitializationError {
super(clazz);
}
@Override
protected TestContextManager createTestContextManager(Class<?> clazz) {
return super.createTestContextManager(ConfigShim.class);
}
@ContextConfiguration(classes = WebDriverConfig.class)
@TestExecutionListeners(listeners = {ScreenshotTaker.class, DependencyInjectionTestExecutionListener.class})
public static class ConfigShim {
}
}
Что означает, что я могу запускать тесты следующим образом:
@RunWith(WebDriverRunner.class)
public class ShoppingCartPageIT {
Но это меняет имена теста.
Пожалуйста, ** не ** расширяйте 'SpringJUnit4ClassRunner'. Бегуны JUnit уходят в прошлое и, вероятно, не поддерживаются в JUnit 5 и Spring Framework 5. –
Вместо этого лучшим вариантом является создание пользовательской _композированной аннотации_, как указано в ответе от @jny. –
Фантастический Сэм. Это происходит в книге :) Есть ли дорожная карта JUnit 5 в любом месте, о котором я могу прочитать? –