Assuming a test class utilizing a Spring Boot slice test annotation along these lines:

@JdbcTest(properties = "spring.datasource.url=jdbc:tc:postgresql:14.6-alpine:///test")
@AutoConfigureTestDatabase(replace = Replace.NONE)
class Tests {

    @Test
    void test() {
    }

    @Nested
    class NestedTests {

        @Test
        void nestedTest() {
        }

    }

}

Test named test will succeed, while the nestedTest will fail with root cause of:

Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
    at app//org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:182)
    at app//org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123)
    at app//org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48)
    at app//org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90)
    at java.base@17.0.5/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base@17.0.5/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base@17.0.5/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base@17.0.5/java.lang.reflect.Method.invoke(Method.java:568)
    at app//org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
    ... 118 more

This is because JdbcTestContextBootstrapper looks up properties using SearchStrategy.INHERITED_ANNOTATIONS strategy and therefore does not pick up ones supplied on the enclosing class's annotation. The same behavior is present in all subclasses of SpringBootTestContextBootstrapper.

The observed behavior was surprising to me, because based on Framework's support for nested test classes where test configuration is inherited from the enclosing class, I expected Spring Boot's slice tests to be aligned with that.

Comment From: ianbrandt

Tested via forward port #34781. Works on my machine. Thanks!