在这个问题上需要一些帮助。
我有这样的虚空方法
public void doSomething(String a, String b){
ServiceUtils utils = new ServiceUtils(persistService, randomService)
String c;
String d;
c = utils.someMethod(a, b);
d = service.anotherMethod(b, null);
if(utils.validateSomething(d)){
//...
}
persistService.persistMethod(c , d);
}
我需要将C内的值用于常规测试。
无法模拟utils,这对验证很重要。
无法模拟/(spy(?))persistentService,因为在utils构造函数中使用了它。
我该如何使用Mockito做到这一点?
最佳答案
问题是您的方法中的“新”问题:
ServiceUtils utils = new ServiceUtils(persistService, randomService)
尝试重构代码:如果在构造函数中注入“ ServiceUtils”类,则可以在测试中对此进行模拟。