如何使用axios测试异步功能?

时间:2019-02-04 16:16:15

标签: unit-testing asynchronous mocha axios axios-mock-adapter

我需要使用mocha测试异步功能。

试图测试从axios返回Promise的功能。通过axios-mock-adapter浏览了许多示例来解决我的问题。但是:axios发送REAL请求,而不是按预期进行模拟。

describe ('login sendRequest', () => {
let sandbox = null;
before(() => {
    sandbox = sinon.createSandbox();
});

after(() => {
    sandbox.restore();
});

it('should create and return REST promise', done => {
    const mockAdapter = new MockAdapter(axios);
    const data = { response: true };
    mockAdapter.onAny('http://google.com').reply(200, data);
    const requestParams = {
        method: 'post',
        url: 'http://google.com',
        data: {},
        adapter: adapter,
    };
    logic.sendRequest(requestParams).then(response => {
        console.log(response);
        done();
    }).catch(err => {
        console.log(err);
    });
});
});

logic.js

export async function sendRequest(requsetParams) {
   return await requestSender.request(requsetParams);  
}

预计将获得200个之前设置的响应和模拟数据。为什么我没有得到我需要的答复?有人可以帮忙吗?

0 个答案:

没有答案