-
Notifications
You must be signed in to change notification settings - Fork 40.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@SpringBootTest with spock and spring boot 3.0.0 doesn't load application context correctly #33376
Comments
I'm afraid this is out of Spring Boot's control. Spock's Spring Extension tries to use This has already been reported to the Spock Team: spockframework/spock#1539. |
dependencies are not compatible |
FWIW, this issue was fixed in spockframework/spock#1541. A formal release has not been made yet that includes it, but you can still get the fix using their 2.4-M1 milestone release. Or you can work around it by simply adding the |
… spring security from 5.x to 6.x and ninja-squad upgrade with spring boot upgrade to 3.x While upgrading spring security from 5.x to 6.x, encountered the below error: ``` Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.ok request(GenericExceptionHandlersMvcSpec.groovy:42) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.not found(GenericExceptionHandlersMvcSpec.groovy:50) Cannot invoke method postForEntity() on null object java.lang.NullPointerException: Cannot invoke method postForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.method not supported(GenericExceptionHandlersMvcSpec.groovy:58) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.missing request param(GenericExceptionHandlersMvcSpec.groovy:66) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should map IllegalArgumentException as 400(GenericExceptionHandlersMvcSpec.groovy:74) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should handle IllegalStateException(GenericExceptionHandlersMvcSpec.groovy:82) ``` The root cause of this issue is a incompatibility bug in spockframework 2.3-groovy-4.0 version. In order to fix this issue upgraded the spockframe to 2.4-M1-groovy-4.0 spring-projects/spring-boot#33376 https://spockframework.org/spock/docs/2.4-M1/release_notes.html#_2_4_m1_2022_11_30 Also encountered below error during test execution of kork-plugins-tck module: ``` java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at com.ninjasquad.springmockk.MockkContextCustomizer.customizeContext(MockkContextCustomizer.kt:21) at org.springframework.boot.test.context.SpringBootContextLoader$ContextCustomizerAdapter.initialize(SpringBootContextLoader.java:435) at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:606) at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:386) ``` In order to fix this issue, upgraded the ninja-squad dependency from 2.0.3 to 4.0.2 for the compatibility with Spring boot 3.x and Java 17+. https://github.com/Ninja-Squad/springmockk?tab=readme-ov-file#versions-compatibility
… spring security from 5.x to 6.x and ninja-squad upgrade with spring boot upgrade to 3.x While upgrading spring security from 5.x to 6.x, encountered the below error: ``` Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.ok request(GenericExceptionHandlersMvcSpec.groovy:42) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.not found(GenericExceptionHandlersMvcSpec.groovy:50) Cannot invoke method postForEntity() on null object java.lang.NullPointerException: Cannot invoke method postForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.method not supported(GenericExceptionHandlersMvcSpec.groovy:58) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.missing request param(GenericExceptionHandlersMvcSpec.groovy:66) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should map IllegalArgumentException as 400(GenericExceptionHandlersMvcSpec.groovy:74) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should handle IllegalStateException(GenericExceptionHandlersMvcSpec.groovy:82) ``` The root cause of this issue is a incompatibility bug in spockframework 2.3-groovy-4.0 version. In order to fix this issue upgraded the spockframe to 2.4-M1-groovy-4.0 spring-projects/spring-boot#33376 https://spockframework.org/spock/docs/2.4-M1/release_notes.html#_2_4_m1_2022_11_30 Also encountered below error during test execution of kork-plugins-tck module: ``` java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at com.ninjasquad.springmockk.MockkContextCustomizer.customizeContext(MockkContextCustomizer.kt:21) at org.springframework.boot.test.context.SpringBootContextLoader$ContextCustomizerAdapter.initialize(SpringBootContextLoader.java:435) at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:606) at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:386) ``` In order to fix this issue, upgraded the ninja-squad dependency from 2.0.3 to 4.0.2 for the compatibility with Spring boot 3.x and Java 17+. https://github.com/Ninja-Squad/springmockk?tab=readme-ov-file#versions-compatibility
… spring security from 5.x to 6.x and ninja-squad upgrade with spring boot upgrade to 3.x While upgrading spring security from 5.x to 6.x, encountered the below error: ``` Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.ok request(GenericExceptionHandlersMvcSpec.groovy:42) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.not found(GenericExceptionHandlersMvcSpec.groovy:50) Cannot invoke method postForEntity() on null object java.lang.NullPointerException: Cannot invoke method postForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.method not supported(GenericExceptionHandlersMvcSpec.groovy:58) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.missing request param(GenericExceptionHandlersMvcSpec.groovy:66) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should map IllegalArgumentException as 400(GenericExceptionHandlersMvcSpec.groovy:74) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should handle IllegalStateException(GenericExceptionHandlersMvcSpec.groovy:82) ``` The root cause of this issue is a incompatibility bug in spockframework 2.3-groovy-4.0 version. In order to fix this issue upgraded the spockframe to 2.4-M1-groovy-4.0 spring-projects/spring-boot#33376 https://spockframework.org/spock/docs/2.4-M1/release_notes.html#_2_4_m1_2022_11_30 Also encountered below error during test execution of kork-plugins-tck module: ``` java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at com.ninjasquad.springmockk.MockkContextCustomizer.customizeContext(MockkContextCustomizer.kt:21) at org.springframework.boot.test.context.SpringBootContextLoader$ContextCustomizerAdapter.initialize(SpringBootContextLoader.java:435) at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:606) at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:386) ``` In order to fix this issue, upgraded the ninja-squad dependency from 2.0.3 to 4.0.2 for the compatibility with Spring boot 3.x and Java 17+. https://github.com/Ninja-Squad/springmockk?tab=readme-ov-file#versions-compatibility
Using spring boot 3.0.0 and the following spock dependencies:
sampleTestIT.groovy test class:
Output:
The text was updated successfully, but these errors were encountered: