profile
viewpoint

Ask questionsConfigurationProperties with constructor binding cannot be mocked

I have migrated https://spring.io/guides/tutorials/spring-boot-kotlin/ to Spring Boot 2.2.0.RELEASE and updated it to leverage immutable configuration properties. As discussed with @snicoll, @ConfigurationProperties are not scanned by default in test slices, so I have to add to my @WebMvcTest test either @EnableConfigurationProperties(BlogProperties::class) or mock BlogProperties bean.

My test works with @EnableConfigurationProperties(BlogProperties::class) but fails if I try to mockk BlogProperties bean (in my case with @MockkBean from https://github.com/Ninja-Squad/springmockk) with following error:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.example.blog.BlogProperties#0': @EnableConfigurationProperties or @ConfigurationPropertiesScan must be used to add @ConstructorBinding type com.example.blog.BlogProperties
spring-projects/spring-boot

Answer questions philwebb

:(

useful!

Related questions

Controller annotated with @Timed and active TimedAspect clashes with WebMvcMetricsFilter hot 2
Actuator: NPE in LongTaskTimingHandlerInterceptor hot 2
spring boot Servlet.service() for servlet [dispatcherServlet] in context with path threw exception hot 2
Migrating OAuth2 from Spring Boot 1.5 to 2.0 Broken hot 2
Classloading problems with Spring Boot, JDK11 and Security Manager hot 1
java.lang.NullPointerException: null occurs in HttpExchangeTracer hot 1
Multiple data source projects cannot be started hot 1
Dependency resolution fails with Gradle 5.3.x to 5.6.x hot 1
get error messag Could not fetch the SequenceInformation from the database, hibernate_sequence doesn't exist hot 1
HttpTraceFilter bean missing hot 1
A java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy was thrown when killing my app hot 1
Source file must be provided failure when running spring-boot:repackage from the command-line hot 1
Issue with spring boot v2.1.2 with DocumentBuilderFactory.setFeature(String) hot 1
ErrorPageFilter ignores REST response in case of Exception hot 1
Improve diagnostics when configuration property scanning and component scanning both create a bean for the same class hot 1
Github User Rank List