Package io.quarkus.test.junit
Annotation Type QuarkusIntegrationTest
-
@Target(TYPE) @ExtendWith({DisabledOnIntegrationTestCondition.class,QuarkusIntegrationTestExtension.class}) @Retention(RUNTIME) public @interface QuarkusIntegrationTest
Annotation that indicates that this test should be run the result of the Quarkus build. That means that if a jar was created, that jar is launched usingjava -jar ...
(and thus runs in a separate JVM than the test). If instead a native image was created, the that image is launched. Finally, if a container image was created during the build, then a new container is created and run. The standard usage pattern is expected to be a base test class that runs the tests using the JVM version of Quarkus, with a subclass that extends the base test and is annotated with this annotation to perform the same checks against the native image. Note that it is not possible to mix@QuarkusTest
andQuarkusIntegrationTest
in the same test run, it is expected that the@QuarkusTest
tests will be standard unit tests that are executed by surefire, while theQuarkusIntegrationTest
tests will be integration tests executed by failsafe. This also means that injection of beans into a test class using@Inject
is not supported inQuarkusIntegrationTest
. Such injection is only possible in tests injected with {@link @QuarkusTest} so the test class structure must take this into account.