Когда вы пытаетесь получить доступ к бину следующим образом: ${@buildProperties.getVersion()}
на самом деле это выражение SpEL для доступа к бину через BeanReference.К сожалению, у него нет значения по умолчанию, и вместо возврата null
он выдает исключение, если бин не может быть найден.
Я не знаю простого способа проверить, существует ли бин в контексте через SpEL.
Так что я думаю, что лучшее решение, если вы создадите вложенный тестовый класс конфигурации и определите там компонент по умолчанию BuildProperties.
@TestConfiguration
public static class TestConfig {
@Bean
BuildProperties buildProperties() {
return new BuildProperties(new Properties());
}
}
Или вы можете создать его как отдельный класс и использовать @Import(TestConfig.class), если вам нужна эта дополнительная конфигурация в нескольких тестовых классах.