Java 带有 void 语句的 mockito 测试方法

Java mockito test method with void statements

下面是我的 AppleServiceImpl class 和我创建的测试 class AppleServiceImpl。 在我的测试中,

  1. 方法 creditCheck 被调用
  2. 我们调用class和方法appleService.creditCheck(request, response);进行测试。
  3. 调用信用检查时,appleHelper 对象被 null.doesnt 初始化。
  4. 我如何模拟它或绕过它来完成测试?
public class AppleServiceImpl extends GenericService implements ApplicationService {

    @Autowired
    AppleHelper appleHelper;

    public void creditCheck(ApplicationRequest request, ResponseMessage<ApplicationResponse> response) {
        appleHelper.test123(request, response);
    }
}

public class AppleServiceImplTest {
    @Spy
    AppleServiceImpl appleService= new AppleServiceImpl ();
    @Test
    public void creditCheck() {
        appleService.creditCheck(request, response);
    }
}

您可能想向 AppleServiceImpl 添加一个构造函数,它将 AppleHelper 作为参数并在构造函数上自动装配。 接下来在你的测试中你想要创建一个你使用 @InjectMocks

注入的 @Mock AppleHelper appleHelper 字段