簡體   English   中英

我的模擬 function 沒有被多次調用

[英]My mock function is not called more than once

我有個問題。 我正在設置匿名 function

let getLisMock = sinon.mock();
GetListMock.calledWith({data: 'data'});

我測試的function

function someFunc({data: 'data'}, callback) {  
 async.retry({times: 3,interval: 10}, function(callback){  
 getList({data: 'data'}, callback);  },
 callback) 
}

我將 someFunc 和 getList 與 rewire 和__set__結合起來調用 function 之前的 sinon 設置如下所示

GetListMock.onCall(0).yields(new Error('error'), null);
GetListMock.onCall(1).yields(null, {items: [{id: 1}]});

接下來,撥打 function 並期待。

無論我做什么,我都會收到一個錯誤:Uncaught ExpectationError: Anonymous mock already called once

PS 對於這種格式的問題,我很抱歉,我現在無法訪問計算機。 稍后,如果沒有人回答,我將添加一個測試樣本。

我試着用 once() 打了一個電話,只是拋出了一個錯誤,但最后所有的路都把我帶到了這里。

GetListMock.twice();
GetListMock.onCall(0).yields(new Error('error'), null);
GetListMock.onCall(1).yields(null, {items: [{id: 1}]});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM