Есть ли способ написания модульных тестов, чтобы убедиться, что API весенней загрузки не запускается, если не удается создать определенный бин.Например: не удалось создать компонент источника данных.
Этот код должен сделать это за вас:
@RunWith(SpringRunner.class) @SpringBootTest public class AnyAppNameApplicationTests { @Test public void contextLoads() { } }
Из документов:
Аннотация, которая может быть указана в классе теста, который запускает тесты на основе Spring Boot.Предоставляет следующие функции сверх обычной Spring TestContext Framework: Использует SpringBootContextLoader в качестве ContextLoader по умолчанию, если не определен конкретный @ContextConfiguration(loader=...). Автоматический поиск @SpringBootConfigurationкогда вложенный @Configuration не используется и явные классы не указаны. Позволяет определять настраиваемые свойства среды с помощью атрибута свойств. Обеспечивает поддержку различных режимов webEnvironment, включая возможностьчтобы запустить полностью работающий веб-сервер, прослушивающий определенный или случайный порт. Регистрирует bean-компонент TestRestTemplate и / или WebTestClient для использования в веб-тестах, использующих полностью работающий веб-сервер. Если вы используете JUnit 4, не забудьте также добавить @RunWith(SpringRunner.class) в ваш тест, иначе аннотации будут игнорироваться.Если вы используете JUnit 5, нет необходимости добавлять эквивалент @ExtendWith(SpringExtension) как @SpringBootTest, а другие аннотации @…Test уже аннотированы с ним.
Аннотация, которая может быть указана в классе теста, который запускает тесты на основе Spring Boot.Предоставляет следующие функции сверх обычной Spring TestContext Framework:
@ContextConfiguration(loader=...)
@SpringBootConfiguration
@Configuration
Если вы используете JUnit 4, не забудьте также добавить @RunWith(SpringRunner.class) в ваш тест, иначе аннотации будут игнорироваться.Если вы используете JUnit 5, нет необходимости добавлять эквивалент @ExtendWith(SpringExtension) как @SpringBootTest, а другие аннотации @…Test уже аннотированы с ним.
@RunWith(SpringRunner.class)
@ExtendWith(SpringExtension)
@SpringBootTest
@…Test