java – Mockito:当方法A.a被调用然后执行B.b

前端之家收集整理的这篇文章主要介绍了java – Mockito:当方法A.a被调用然后执行B.b前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Mockito进行JUnit测试.
所以有一个给定的类A是从我想要测试的代码中使用的:
class A{

    public A(){}

    public final String a(String x){
        return "A.a: " + x;
    }

}

并且我想用另一个方法调用替换方法调用A.a具有相同的参数和相同类型的返回值.正如你所看到的,它不可能通过将类扩展为final来覆盖方法a.那么现在我现在是另一个B类的方法B.b:

class B{

    public B(){}

    public String b(String x){
        return "B.b: " + x;
    }

}

现在我想确保每次从代码调用A.a时,都会使用B.b的返回值.有没有可能通过Mockito来实现这个目的(像Mockito.when(A.a(x))),thenReturn(B.b(x));),但使用相同的参数x,而不知道x的值?

任何帮助将不胜感激,谢谢你提前!

解决方法

根据 Mockito limits,不可能覆盖Mockito生成的模拟的最终方法.但是,您可以使用 Powermock在运行时破解代码,以便Mockito可以完成其工作.
原文链接:https://www.f2er.com/java/124843.html

猜你在找的Java相关文章