quarkiverse / quarkus-mockk

Mockk Quarkus Extension
Apache License 2.0
24 stars 10 forks source link

Incompatible with Quarkus 3.2.3 #224

Closed mpienaar-t closed 1 year ago

mpienaar-t commented 1 year ago

Hello Team!

I've recently upgraded an app to Quarkus 3.2.3 from Quarkus 2.x. This included upgrading quarkus-mockk to 2.0.0 as per the documentation. I now get an exception when using InjectSpy. Caused by: java.lang.NoClassDefFoundError: io/quarkus/arc/runtime/ClientProxyUnwrapper at io.quarkiverse.test.junit.mockk.internal.CreateMockkSpiesCallback.createSpyAndSetTestField(CreateMockkSpiesCallback.kt:27) at io.quarkiverse.test.junit.mockk.internal.CreateMockkSpiesCallback.afterConstruct(CreateMockkSpiesCallback.kt:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) I had a look at the code, and noticed that quarkus-mockk uses quarkus-arc version 3.1.1. It appears that later versions of quarkus-arc have removed ClientProxyUnwrapper. I tried just downgrading quarkus-arc, but that causes issues in other parts of the application build process. Do you have any ideas as to when Quarkus 3.2.x will be supported? Thanks for your help.

ruifcardoso commented 1 year ago

I've created this pull request here to fix the issue. Already approved, just waiting for it to be merged

mpienaar-t commented 1 year ago

Thanks so much, @ruifcardoso - that was super quick. I really appreciate your help.

glefloch commented 1 year ago

The issue has been merge, I will release a new version of the library