весенняя загрузка: как создать настраиваемый параметризованный тестовый срез - PullRequest
0 голосов
/ 15 октября 2019

Я хотел бы создать аннотацию, которая работает как @WebMvcTest (которая имеет много параметров, включая контроллеры для тестирования), но также загружает дополнительную конфигурацию @Import(...).

Я видел сообщение https://spring.io/blog/2016/08/30/custom-test-slice-with-spring-boot-1-4, но оно описывает аннотацию без параметров.

Как я могу «расширить» существующий тестовый фрагмент?

1 Ответ

0 голосов
/ 20 октября 2019

Контроллер и дополнительную конфигурацию можно импортировать следующим образом:

@WebMvcTest(value = {MyController.class, MyConfig.class})

Но если вы все еще хотите расширить @WebMvcTest аннотацию, вы можете создать составную аннотацию:

@Retention(RUNTIME)
@Target(TYPE)
@WebMvcTest
public @interface ExtendedMvcTest {

    @AliasFor(annotation = WebMvcTest.class, attribute = "value")
    Class<?>[] includeClasses() default {};
}

А затем примените его к тесту:

@ExtendedMvcTest(includeClasses = {MyController.class, MyConfig.class})
class WebTests {}
...