当我将类的方法包装到Sinon间谍中时,
sinon.spy(myObject, "myMethod")
间谍内部会发生什么?
我想间谍对象有一个指向“ myObject.myMethod”的引用。
调用该方法后会发生什么?
我知道间谍会记录有关调用的信息,例如调用时间,使用的参数等。
但是myMethod 真的会被调用吗?
我的意思是:进一步将间谍对象传递给调用吗? 间谍对象是否充当代理?还是仅记录信息?
答案 0 :(得分:1)
通过一个简单的测试,似乎sinon spy确实调用了原始方法:
navigation.setItemIconTintList(Color.parseColor("#fafafa"));
在the docs中也是如此:
sinon.spy(object,“ method”)创建一个间谍,该间谍包装了现有的函数object.method。 间谍的行为将与原始方法完全相同(包括用作构造函数时),但是您将有权访问有关所有调用的数据。