reactjs - 如何在测试中模拟 axios 调用?不断获取类型的参数不能分配给类型的参数
问题描述
如何在我的笑话测试中模拟 axios 调用?我正在这样做
jest.mock('axios');
const mockedAxios = axios as jest.Mocked<typeof axios>;
test('something', () => {
...
mockedAxios.get.mockReturnValueOnce({ data: [] });
});
我在下面不断收到此错误:
错误 TS2345:类型参数 '{ data: undefined[]; }' 不能分配给类型为 '(url: string, config?: AxiosRequestConfig) => AxiosPromise' 的参数。对象字面量只能指定已知属性,并且类型 '(url: string, config?: AxiosRequestConfig) => AxiosPromise' 中不存在 'data'。
解决方案
嘿,茉莉花,你能试试这个吗?
import axios from 'axios';
jest.mock('axios');
test('something', () => {
...
const mockGet = jest.spyOn(axios, 'get');
mockGet.mockResolvedValue({ data: [] });
});
推荐阅读
- c# - Selenium - 即使在“Eager”上也无法访问页面
- perl - Perl 哈希引用 - 是否可以将对嵌套哈希的引用放入 1 个变量中?
- amazon-web-services - DynamoDB 在更新期间返回“无效的 UpdateExpression:表达式大小已超过允许的最大大小”
- python - Python 单线器将数组映射为字符串格式
- scala - scala.meta parent of parent of Defn.Object
- javascript - Javascript Whack a mole game variable not declared but code works anyways
- https - Website error for HTTPS; But website works fine through HTTP
- c - 用于定义宏集的 C 宏
- python - 有没有办法计算 XGBoost 树中每个节点的值?
- c# - 如何使用 MergeSort 按两个或多个条件对数组进行排序?