Sinon stub.returns()方法根据文档没有返回正确的响应。有什么想法吗?
stubThis = sinon.stub().returns('123');
console.log(stubThis); // returns stub, but expect it to return 123
答案 0 :(得分:1)
您需要调用stubThis
:console.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'