diff --git a/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusProdModeTest.java b/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusProdModeTest.java index fa459a2223dfe..5efe401568e10 100644 --- a/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusProdModeTest.java +++ b/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusProdModeTest.java @@ -5,12 +5,14 @@ import java.io.BufferedReader; import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UncheckedIOException; import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; @@ -777,12 +779,16 @@ public QuarkusProdModeTest withConfigurationResource(String resourceName) { customApplicationProperties = new Properties(); } try { - try (InputStream in = ClassLoader.getSystemResourceAsStream(resourceName)) { + URL systemResource = ClassLoader.getSystemResource(resourceName); + if (systemResource == null) { + throw new FileNotFoundException("Resource '" + resourceName + "' not found"); + } + try (InputStream in = systemResource.openStream()) { customApplicationProperties.load(in); } return this; } catch (IOException e) { - throw new RuntimeException("Could not load resource: '" + resourceName + "'"); + throw new UncheckedIOException("Could not load resource: '" + resourceName + "'", e); } } diff --git a/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusUnitTest.java b/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusUnitTest.java index ea97f4c0a77ca..631ebcc7b571b 100644 --- a/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusUnitTest.java +++ b/test-framework/junit5-internal/src/main/java/io/quarkus/test/QuarkusUnitTest.java @@ -3,13 +3,16 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.io.UncheckedIOException; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -791,12 +794,16 @@ public QuarkusUnitTest withConfigurationResource(String resourceName) { customApplicationProperties = new Properties(); } try { - try (InputStream in = ClassLoader.getSystemResourceAsStream(resourceName)) { + URL systemResource = ClassLoader.getSystemResource(resourceName); + if (systemResource == null) { + throw new FileNotFoundException("Resource '" + resourceName + "' not found"); + } + try (InputStream in = systemResource.openStream()) { customApplicationProperties.load(in); } return this; } catch (IOException e) { - throw new RuntimeException("Could not load resource: '" + resourceName + "'"); + throw new UncheckedIOException("Could not load resource: '" + resourceName + "'", e); } }