gpt4 book ai didi

unit-testing - 你如何验证一个请求是用 axios-mock-adapter 发出的?

转载 作者:行者123 更新时间:2023-12-03 09:27:38 25 4
gpt4 key购买 nike

我正在使用 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)

我意识到我可以在使用函数回复时使用一些自定义逻辑,并设置一个局部变量来指示是否已发出请求。我只是想知道是否有更清洁的方法来做到这一点。

最佳答案

注意:此答案现已过时,请参阅 this answer由 Laszlo Sarvold 代替。

axios-mock-adapter 似乎没有内置此功能,但是如果您使用的是 jest,则可以使用 jest.spyOn。
对于你上面的例子

let spy = jest.spyOn(axios, "get");
//run http request here
expect(spy).toHaveBeenCalled();
注意:根据您使用的内容,您可能需要将您的期望语句包装在 setTimeout(function, 0) 中才能正常工作

关于unit-testing - 你如何验证一个请求是用 axios-mock-adapter 发出的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47716844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com