在这个问题上需要一些帮助。

我有这样的虚空方法

    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”类,则可以在测试中对此进行模拟。

08-18 19:34