Package io.quarkus.test.junit
Class QuarkusMock
java.lang.Object
io.quarkus.test.junit.QuarkusMock
Utility class that can be used to mock CDI normal scoped beans.
This includes beans that are ApplicationScoped and
RequestScoped.
To use this, inject the bean into a test and invoke installMockForInstance(Object, Object, Options).
Alternatively, invoke installMockForType(Object, TypeLiteral, Options, Annotation...).
Mocks installed in BeforeAll will be present for every test,
while mocks installed within a test are cleared after the test has run. Note that you will
likely need to use TestInstance.Lifecycle.PER_CLASS to have a non-static before all method
that can access injected beans.
Note that as the bean is replaced globally, you cannot use parallel test execution, as this will result in race conditions where mocks from one test are active in another.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAllowed options for configuring mocked beans -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> voidinstallMockForInstance(T mock, T instance) Installs the givenmockfor a CDI normal scoped bean identified by giveninstance.static <T> voidinstallMockForInstance(T mock, T instance, QuarkusMock.Options options) Installs the givenmockfor a CDI normal scoped bean identified by giveninstance.static <T> voidinstallMockForType(T mock, jakarta.enterprise.util.TypeLiteral<? super T> type, QuarkusMock.Options options, Annotation... qualifiers) Installs the givenmockfor a CDI normal scoped bean of giventypeand with givenqualifiers.static <T> voidinstallMockForType(T mock, jakarta.enterprise.util.TypeLiteral<? super T> type, Annotation... qualifiers) Installs the givenmockfor a CDI normal scoped bean of giventypeand with givenqualifiers.static <T> voidinstallMockForType(T mock, Class<? super T> type, Annotation... qualifiers) Installs the givenmockfor a CDI normal scoped bean of giventypeand with givenqualifiers.
-
Constructor Details
-
QuarkusMock
public QuarkusMock()
-
-
Method Details
-
installMockForInstance
public static <T> void installMockForInstance(T mock, T instance) Installs the givenmockfor a CDI normal scoped bean identified by giveninstance. Note that the given mock must be assignable to the bean class of the bean; it is not enough for it to implement only some of the bean types.- Type Parameters:
T- The bean type- Parameters:
mock- The mock objectinstance- The CDI normal scoped bean that was injected into your test
-
installMockForInstance
Installs the givenmockfor a CDI normal scoped bean identified by giveninstance. Note that the given mock must be assignable to the bean class of the bean; it is not enough for it to implement only some of the bean types.- Type Parameters:
T- The bean type- Parameters:
mock- The mock objectinstance- The CDI normal scoped bean that was injected into your test
-
installMockForType
Installs the givenmockfor a CDI normal scoped bean of giventypeand with givenqualifiers. Note that the given mock must be assignable to the bean class of the looked up bean; it is not enough for it to implement only some of the bean types.- Type Parameters:
T- The bean type- Parameters:
mock- The mock objecttype- The type of the CDI normal scoped bean to replacequalifiers- The CDI qualifiers of the bean to mock
-
installMockForType
public static <T> void installMockForType(T mock, jakarta.enterprise.util.TypeLiteral<? super T> type, Annotation... qualifiers) Installs the givenmockfor a CDI normal scoped bean of giventypeand with givenqualifiers. Note that the given mock must be assignable to the bean class of the looked up bean; it is not enough for it to implement only some of the bean types.- Type Parameters:
T- The bean type- Parameters:
mock- The mock objecttype- The type of the CDI normal scoped bean to replacequalifiers- The CDI qualifiers of the bean to mock
-
installMockForType
public static <T> void installMockForType(T mock, jakarta.enterprise.util.TypeLiteral<? super T> type, QuarkusMock.Options options, Annotation... qualifiers) Installs the givenmockfor a CDI normal scoped bean of giventypeand with givenqualifiers. Note that the given mock must be assignable to the bean class of the looked up bean; it is not enough for it to implement only some of the bean types.- Type Parameters:
T- The bean type- Parameters:
mock- The mock objecttype- TypeLiteral representing the required typequalifiers- The CDI qualifiers of the bean to mock
-