我试图调用一个返回类型为void的真实方法。我已经尝试了@mock和@spy都在我的bean上,但它仍然没有进入实际的类。
@Autowired private HelperV2 authValidationHelper;
@Override
public void postProcess(Event event) {
List<Error> errorList = new ArrayList<>();
authValidationHelper.validateOrderTotalAmount(event, errorList);
handleError(event, errorList);
}
}
测试用例
@Spy private HelperV2 authValidationHelper;
@Test
public void test_postProcess() {
BaseOrderEvent event =
ParserUtil.getObjectFromFile(
"events/createPaymentRequestWithShoppingCardOnly2.json", Event.class);
Mockito.doCallRealMethod()
.when(authValidationHelper)
.validateOrderTotalAmount(Mockito.any(), Mockito.any());
createOrderEventProcessor.postProcess(event);
}
如果您想在spring上下文中替换bean,则需要@MockBean
或@SpyBean