Je rencontre des problèmes lors de la mise à l'essai de mes thunk, car plusieurs de mes appels d'API utilisent FormData, et je n'arrive pas à comprendre comment les utiliser lors des tests. J'utilise Jest.React Native - simulant FormData dans les tests unitaires
Mon fichier de configuration ressemble à ceci:
import 'isomorphic-fetch';
// Mocking the global.fetch included in React Native
global.fetch = jest.fn();
// Helper to mock a success response (only once)
fetch.mockResponseSuccess = body => {
fetch.mockImplementationOnce(() =>
Promise.resolve({ json:() => Promise.resolve(JSON.parse(body)) })
);
};
// Helper to mock a failure response (only once)
fetch.mockResponseFailure = error => {
fetch.mockImplementationOnce(() => Promise.reject(error));
};
Cependant, je reçois l'erreur suivante sur tous les tests qui nécessitent FormData:
ReferenceError: FormData is not defined
J'ai essayé d'importer le fichier FormData de react-native-mock
, sous src/Libraries/Network/FormData
, mais cela n'a pas fonctionné.
Alors je me demandais si quelqu'un avait eu de la chance en faisant ça?
En général, j'ai du mal à trouver la meilleure façon de se moquer des demandes fetch
dans React Native, donc tout conseil ici serait bien. J'ai essayé le jest-fetch-mock
lib (et ai ouvert un problème au sujet de FormData), ai essayé la mise en place avec nock
(aucune chance), et cette mise en œuvre simple de Jest, mais rien ne semble bon pour le moment.
Avez-vous trouvé une solution qui a fonctionné pour vous? – Marklar
Pas encore, malheureusement – jhm