我得到一個sinon存根要返回/解決另一個sinon存根時出現問題。我正在使用sinon,chai,chai-as-promised和mocha。從一個sinon存根返回一個sinon存根
我表演的序列號的異步任務,我想測試看起來像這樣的代碼:
Terminal.findOneAsync({terminalId: terminalId}).then(function(terminal) {
terminal.lastSeen = timestamp;
return terminal.saveit();
}).then(function(terminal) {
//continue to do other stuff
});
而我試圖在這個看起來像這樣創建存根:
var saveitStub = sinon.stub(Terminal.prototype, 'saveit');
saveitStub.resolves(terminalUpdated);
var findOneStub = sinon.stub(Terminal, 'findOneAsync');
findOneStub.resolves(saveitStub);
「saveit」方法在Terminal.prototype中,這就是爲什麼我需要在那裏存根。 當我試圖運行此我得到的錯誤:
Unhandled rejection TypeError: undefined is not a function
在該行:
return terminal.saveit();
但如果我傾倒的終端對象從控制檯它看起來不錯,就像任何其他存根對象(至少對我簡單的頭腦)。在測試中,可以將存根(save)()方法稱爲「獨立」。但是每當我通過柴的「迴歸」或柴 - 答應的「解決」方法返回它時,我都會遇到這個錯誤。
任何想法爲什麼這種情況?