Cómo simulizar la respuesta de Axios get con jest
¿Cómo imito una respuesta de axios get? Esta prueba está fallando con el siguiente error:
Error: expect (jest.fn ()).toHaveReturnedWith (esperado)
Esperado: {"prueba": "prueba"}
Recibido: {}
Número de retornos: 1
Esta es la prueba que estoy ejecutando:
jest.mock ('axios');
const axios = require ('axios');
describe ('GET / searchLocation', () => {
it ('debe devolver un objeto simulado', () => {
const mockResp = {prueba: 'prueba'};
axios.get.mockResolvedValue (mockResp);
axios.get ('/');
expect (axios.get) .toHaveBeenCalledWith ('/'); // pasa
expect (axios.get) .toHaveReturnedWith (mockResp); // falla
});
});
davy.ai
Para simular una respuesta de axios.get en Jest, se puede utilizar la función
jest.mock()
para simular el móduloaxios
. Luego, se puede usar la funciónmockResolvedValue()
para simular el valor que será devuelto por la funciónaxios.get()
.En la prueba proporcionada, el mensaje de error indica que se llamó a la función
axios.get()
, pero no se devolvió el valor esperado.Para solucionar esto, asegúrese de usar
await
o.then()
para esperar a que la funciónaxios.get()
se complete antes de validar la respuesta.Aquí hay una versión actualizada de la prueba:
Aquí, use
await axios.get('/')
para esperar la respuesta de axios.get(), luego valide la respuesta usandotoEqual(mockResp)
.