我需要在 Micronaut 中测试我的服务层。我在服务层中使用 bean 验证,因此我需要在测试阶段注入验证器,而我不能只是模拟它。然而,我想模拟一些其他类,所以我也使用 Mockito。
问题是,如果我将@MicornautTest放在我的类上,所有标有 @Inject 的 bean 都是Not-Null,这意味着 @Inject 工作正常。但是,一旦我将 @ExtendWith(MockitoExtension.class) 添加到类中并重新运行测试,所有标有 @Inject 的方法现在都为 null,并且所有标有 @Mock 的 bean 都为 Not-Null。
所以看起来我可以在测试中使用@Inject,或者可以使用@Mock,但不能同时使用两者。
@MicronautTest
@ExtendWith(MockitoExtension.class)
class CashServiceTest {
@Inject
private Validator validator;
@Mock
private AvailableCashClient availableCashClient;
有人之前遇到过类似的问题吗?您能否指导我正确的配置,这将使我能够在相同的测试中使用 @Inject 和 @Mock 。
慕莱坞森
相关分类