ray*_*ray 6 node.js jestjs axios
我如何模拟 axios 获得响应?此测试失败并出现以下错误:
Error: expect(jest.fn()).toHaveReturnedWith(expected)
Expected: {"test": "test"}
Received: {}
Number of returns: 1
Run Code Online (Sandbox Code Playgroud)
这是我正在运行的测试:
jest.mock('axios');
const axios = require('axios');
describe('GET /searchLocation', () => {
it('should return mock object', () => {
const mockResp = { test: 'test' };
axios.get.mockResolvedValue(mockResp);
axios.get('/');
expect(axios.get).toHaveBeenCalledWith('/'); //passes
expect(axios.get).toHaveReturnedWith(mockResp); //fails
});
});
Run Code Online (Sandbox Code Playgroud)
我认为替换这个:
axios.get.mockResolvedValue(mockResp);
Run Code Online (Sandbox Code Playgroud)
有了这个:
axios.get = jest.fn(() => mockResp);
Run Code Online (Sandbox Code Playgroud)
应该可以帮助你。
PS:此调用expect(axios.get)不会等待承诺解决。
| 归档时间: |
|
| 查看次数: |
10697 次 |
| 最近记录: |