testable-mock icon indicating copy to clipboard operation
testable-mock copied to clipboard

被测类间接依赖的静态方法调用没法mock

Open Juwairen2021 opened this issue 3 years ago • 1 comments

被测类A,有个方法a,a方法里生成了个对象b,b的某个方法调用Utils的静态方法s,该静态方法mock不生效 但若在a中直接调用静态方法s,则mock生效

Juwairen2021 avatar Jun 22 '22 08:06 Juwairen2021

Testable的Mock的只会对Mock类自身关联的业务类生效。

对于 A.a() -> B.b() -> Util.s() 这样的调用链,如果希望Mock掉 b() 方法里的调用,则相应Mock方法需要放在 B 类型的Mock类里(比如BTest.Mock类型)。Mock类是与业务类关联而不是与测试用例关联,这一点和其他Mock框架有所不同。

linfan avatar Jul 08 '22 03:07 linfan