Sinon stub.returns()没有返回正确的值

时间:2016-04-22 20:26:22

标签: sinon

Sinon stub.returns()方法根据文档没有返回正确的响应。有什么想法吗?

stubThis = sinon.stub().returns('123');

console.log(stubThis); // returns stub, but expect it to return 123

1 个答案:

答案 0 :(得分:1)

您需要调用stubThisconsole.log(stubThis());

当您致电sinon.stub()时,您会返回一个返回undefined的函数:

var stub = sinon.stub();
stub() // return undefined

当您在该函数上调用.returns方法时,指定其返回值并返回原始函数:

stub.returns('123') === stub; // true
stub() // now returns '123'

因此,在上面的代码中,stubThis不应该是'123'。它是一个返回值为'123'的函数。您只需要调用stubThis

console.log(stubThis()); // logs '123'