Package io.quarkus.test.junit
Annotation Interface 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 using
java -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
and QuarkusIntegrationTest
in the same test
run, it is expected that the @QuarkusTest
tests will be standard unit tests that are
executed by surefire, while the QuarkusIntegrationTest
tests will be integration tests
executed by failsafe.
This also means that injection of beans into a test class using @Inject
is not supported
in QuarkusIntegrationTest
. Such injection is only possible in tests injected with
{@link @QuarkusTest} so the test class structure must take this into account.-
Nested Class Summary
DevServicesContext
instead.