Java 带有 void 语句的 mockito 测试方法
Java mockito test method with void statements
下面是我的 AppleServiceImpl
class 和我创建的测试 class AppleServiceImpl
。
在我的测试中,
- 方法
creditCheck
被调用
- 我们调用class和方法
appleService.creditCheck(request, response);
进行测试。
- 调用信用检查时,
appleHelper
对象被 null.doesnt 初始化。
- 我如何模拟它或绕过它来完成测试?
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
字段
下面是我的 AppleServiceImpl
class 和我创建的测试 class AppleServiceImpl
。
在我的测试中,
- 方法
creditCheck
被调用 - 我们调用class和方法
appleService.creditCheck(request, response);
进行测试。 - 调用信用检查时,
appleHelper
对象被 null.doesnt 初始化。 - 我如何模拟它或绕过它来完成测试?
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
字段