我有
axios.post = jest.fn().mockResolvedValue(< responseData >)
但我需要响应数据根据请求正文中的内容进行更改。请问我怎样才能捕捉到它?类似的东西
axios.post = jest.fn().< get the body >.mockResolvedValue(< responseData based on the body >)
mockImplementation
,那么您可以根据请求负载自定义响应数据。
例如
import axios from 'axios';
describe('78936100', () => {
test('should pass', async () => {
axios.post = jest.fn().mockImplementation((url, data) => {
if (data.id === 1) {
return { data: 'a' };
}
if (data.id === 2) {
return { data: 'b' };
}
});
const res1 = await axios.post('http://localhost:8080', { id: 1 });
expect(res1.data).toEqual('a');
const res2 = await axios.post('http://localhost:8080', { id: 2 });
expect(res2.data).toEqual('b');
});
});