【发布时间】:2021-12-10 19:08:40
【问题描述】:
在对服务层的每个方法进行单元测试时,我遇到了以下场景,我不知道如何测试:
public class UserServiceImpl{
@Autowired
UserRepository userRepository;
public void abc(){
xyz(obj);
}
private void xyz(){
userRepository.save(obj);
}
}
我要测试的是abc() 方法。在该方法中,它调用xyz(),这是一个使用userRepository 依赖项的PRIVATE 方法。那么,当我为abc() 方法创建单元测试时,我是否需要关注xyz() 方法,因为它使用了依赖项?如果是,我需要遵循哪些步骤?
【问题讨论】:
-
您需要使用
UserRepository的模拟版本来实例化UserServiceImpl。 -
嗨@slauth,我也有同样的想法。但是这样做可以吗?
-
当然……你为什么认为这样不行?
-
@NisalPubudu - 如果您发现其中任何一个有帮助,请选择/投票赞成
标签: spring-boot unit-testing junit mocking mockito