用于异步调用的Sinon单元测试

问题描述 投票:0回答:1

我想测试一个加载某些数据的函数,并检查列表是否为空。

我得到一些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]中导入*作为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)
  });
});

我想测试一个加载某些数据的函数,并检查列表是否为空。我收到如下类似的错误网络获取错误.map不是一个函数存根,称为0 ...

javascript unit-testing sinon chai
1个回答
0
投票

这是单元测试解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.