Saltar al contenido

¿Por qué TypeError: axios.create no es una función? Al probar axios GET

Te sugerimos que revises esta respuesta en un ambiente controlado antes de pasarlo a producción, un saludo.

Solución:

te estas burlando axios ¿ya? Yo mismo me encontré con este problema, y ​​después de buscar en todos los lugares equivocados, me di cuenta de que ya me estaba burlando. axios con jest.

Coloque el siguiente fragmento en su setupTestFrameworkScriptFile:

const mockNoop = () => new Promise(() => );

// Notice how `create` was not being mocked here...
jest.mock('axios', () => (
  default: mockNoop,
  get: mockNoop,
  post: mockNoop,
  put: mockNoop,
  delete: mockNoop,
  patch: mockNoop
));

Si bien es posible que pueda hacer ambas cosas, si está utilizando el axios-mock-adapteres posible que desee eliminar sus otros simulacros (y omitir el fragmento anterior).

Agregando esto aquí ya que es el primer éxito en Google a la pregunta y la respuesta seleccionada realmente no responde a la pregunta.

Este problema generalmente ocurre cuando ya se está burlando de axios (muy probablemente dentro de un __mocks__ carpeta.

Con broma, puedes deshacer explícitamente, luego llamar a esto axios-mock-adapter.

jest.unmock('axios');
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
...

axios-mock-adapter brinda API agradables y flexibles cuando se trabaja con solicitudes externas. Sin embargo, no evita globalmente que su aplicación realice llamadas externas que pueden activarse mediante una prueba en un componente diferente.

Así que encontré ambos usando axios-mock-adapter y haciendo un simulacro manual en el __mocks__ carpeta igualmente útil.

Te invitamos a confirmar nuestra faena exponiendo un comentario y dejando una valoración te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *