我在用https://github.com/ctimmerm/axios-mock-adapter https://github.com/ctimmerm/axios-mock-adapter
我想知道如何验证端点是否确实由被测系统调用。
在这个例子中:
var axios = require('axios');
var MockAdapter = require('axios-mock-adapter');
// This sets the mock adapter on the default instance
var mock = new MockAdapter(axios);
// Mock any GET request to /users
// arguments for reply are (status, data, headers)
mock.onGet('/users').reply(200, {
users: [
{ id: 1, name: 'John Smith' }
]
});
我如何判断“/users”上的获取是否被调用?
我正在寻找类似于 Jest 中可以做的事情:
expect(mockFunc).toHaveBeenCalledTimes(1)
我意识到在使用函数进行回复时可以使用一些自定义逻辑,并设置一个局部变量来指示是否已发出请求。我只是想知道是否有更干净的方法来做到这一点。
注意:此答案现已过时,请参阅这个答案 https://stackoverflow.com/a/66564315/2532489由拉斯洛·萨沃尔德代替。
axios-mock-adapter 似乎没有内置此功能,但是如果您使用 jest,则可以使用 jest.spyOn。
对于上面的例子
let spy = jest.spyOn(axios, "get");
//run http request here
expect(spy).toHaveBeenCalled();
注意:根据您使用的内容,您可能必须将您的 Expect 语句包装在 setTimeout(function, 0) 中才能正常工作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)