在这个问题上需要一些帮助。
我有一个这样的 Void 方法
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 中的值以继续我的常规测试。
不能模拟实用程序,它对验证很重要。 不能 mock/( spy(?)) persistService 因为在 utils 构造函数中使用。
我如何使用 mockito 做到这一点?
最佳答案
问题是你方法中的"new":
ServiceUtils utils = new ServiceUtils(persistService, randomService)
尝试重构您的代码:如果您在构造函数中注入(inject)“ServiceUtils”类,您将能够在测试中模拟它。
关于java - 如何使用 Mockito 从 void 方法中获取值 - Groovy/java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36743611/