Sinon:强制回拨呼叫

我正在用这个代码testing一个函数:

return new Promise((ok, fail) => { this.repository.findById(id, (error, result) => { if (error) return fail(error); ok(result); }); }); 

我想testing失败的path,即,当findById方法调用带有错误的callback。 我正在使用sinon为我的仓库和它的findById方法生成一个存根,但我不知道如何强制存根调用所需的参数的callback

有人做过这样的事吗?

谢谢

使用Sinon 2,您可以使用存根的callsFake方法:

 sinon.stub(repository, 'findById').callsFake((id, callback) => callback(new Error('oops')) ); 

请参阅Sinon 2文档: http : //sinonjs.org/releases/v2.1.0/stubs/