java – Mockito:当方法A.a被调用然后执行B.b
发布时间:2020-12-14 16:35:34 所属栏目:Java 来源:网络整理
导读:我正在使用Mockito进行JUnit测试. 所以有一个给定的类A是从我想要测试的代码中使用的: class A{ public A(){} public final String a(String x){ return "A.a: " + x; }} 并且我想用另一个方法调用替换方法调用A.a具有相同的参数和相同类型的返回值.正如你
我正在使用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可以完成其工作.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |