diff --git a/integration-tests/jsonb/src/test/java/io/quarkus/it/jsonb/JsonInStaticBlockTestCase.java b/integration-tests/jsonb/src/test/java/io/quarkus/it/jsonb/JsonInStaticBlockTestCase.java new file mode 100644 index 000000000..94471081d --- /dev/null +++ b/integration-tests/jsonb/src/test/java/io/quarkus/it/jsonb/JsonInStaticBlockTestCase.java @@ -0,0 +1,19 @@ +package io.quarkus.it.jsonb; + +import javax.json.bind.spi.JsonbProvider; + +import org.junit.jupiter.api.Test; + +import io.quarkus.test.junit.QuarkusTest; + +@QuarkusTest +class JsonInStaticBlockTestCase { + static { + JsonbProvider.provider().create(); + } + + @Test + void get() { + + } +} \ No newline at end of file diff --git a/test-framework/junit5/src/main/java/io/quarkus/test/junit/QuarkusTestExtension.java b/test-framework/junit5/src/main/java/io/quarkus/test/junit/QuarkusTestExtension.java index 2b2213a41..741d8cfd5 100644 --- a/test-framework/junit5/src/main/java/io/quarkus/test/junit/QuarkusTestExtension.java +++ b/test-framework/junit5/src/main/java/io/quarkus/test/junit/QuarkusTestExtension.java @@ -252,7 +252,14 @@ public class QuarkusTestExtension if (isNativeTest(extensionContext)) { return invocation.proceed(); } - T result = invocation.proceed(); + T result; + ClassLoader old = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(extensionContext.getRequiredTestClass().getClassLoader()); + result = invocation.proceed(); + } finally { + Thread.currentThread().setContextClassLoader(old); + } ExtensionState state = ensureStarted(extensionContext); initTestState(extensionContext, state); return result;