0
我正在用Jasmine框架进行一些测试,我想窥探我正在使用的pub sub publish方法。然而,发布方法发射两次,我只是想第二次监视它。我想只是publish
方法复制到另一个方法,然后窥视原来的方法,像这样:复制一个没有“引用”原始方法的对象方法
pubsub.publishCopy = pubsub.publish;
spyOn(pubsub, "publish");
// this call has another call to pubsub.publish. it is this
// 2nd pub sub call that I want to spy on
pubsub.publishCopy(args);
// this shows an error because the pubsub.publishCopy is 'pointing to
// pubsub.publish instead of being a new function with the same functionality
expect(pubsub.publish).toHaveBeenCalledWith(differentArgs);
然而,所有我做的只是引用pubsub.publish
方法当我打电话pubsub.publishCopy
它抛出一个错误在我的测试中。如何正确复制发布方法以适应我的需求?
它仍然给我,因为this.publish同样的错误仍然工作原指pubsub.publish方法。 – 2012-02-15 01:15:57
经过进一步调查,您的方法正在工作,问题与我如何设置我的测试有关。谢谢! – 2012-02-15 01:32:26