你如何使用Sinon(或类似的东西)来存在一个不在相关原型上的方法?

时间:2017-07-25 20:35:22

标签: javascript unit-testing sinon stub

假设我使用构造函数创建一个对象:

function MyConstructor() {
  this.myMethod = () => console.log('foo');
}

const myObject = new MyConstructor();

现在在我的测试文件中,我想要存根myMethod方法。如果我在原型上定义了myMethod,那将非常简单。人们可以使用:

sinon.stub(MyConstructor.prototype, 'myMethod')

但是,当使用this在构造函数中定义方法时,这不起作用,如上例所示。

这是一个难以避免的问题,因为某些第三方库以这种方式定义实例方法,即在构造函数内而不是在原型上。我们需要一种在测试时存根这种方法的方法。

0 个答案:

没有答案
相关问题