【发布时间】:2019-09-17 08:12:23
【问题描述】:
我想测试一个加载一些数据并检查列表是否为空的函数。
我得到了一些errors,如下所示
网络抓取错误
.map 不是函数
存根被调用 0 次
我是 javascript 新手,任何帮助将不胜感激。
loadmythings = async () => {
const list = await getmythings();
const finalvalues = []
list.map(item => values.push({ value: item.name }))
return value
}
api.js
export function getmythings(arg1, arg2) {
url = "/someurl"
returns fetch(url).then(response => response.json())
.then(json => json)
.catch(error => error)
}
我尝试的代码是: 从 ../api/..api.js 导入 * as api1
describe('testing', () => {
it('check list', async () => {
const apptest = new loadmythings_1()
const mockdata = [{ name: "my_name" }]
const stub = sinon.stub(api1, 'getmythings').returns(mockdata);
const finalList = await apptest.loadmythings();
sinon.assert.calledOnce(stub);
expect(finalList).to.equal(mockdata)
});
});
【问题讨论】:
-
你能不能把
returns改成return,这样就变成return fetch(url).then(response => response.json())了? -
感谢您的建议,但没有帮助
标签: javascript unit-testing sinon chai