Comment puis-je tester axios dans la plaisanterie
J'ai cette action de réagir
export function fetchPosts() {
const request = axios.get(`${WORDPRESS_URL}`);
return {
type: FETCH_POSTS,
payload: request
}
}
Comment puis-je tester axios dans ce cas? La plaisanterie ont ce cas d'utilisation sur le site pour async code où ils utilisent une maquette de la fonction mais je ne sais pas si je peux le faire avec axios? ref: https://facebook.github.io/jest/docs/tutorial-async.html
Je l'ai fait jusqu'à présent pour tester qu'il est de retour le bon type de
it('should dispatch actions with the correct type', () => {
store.dispatch(fetchPosts());
let action = store.getActions();
expect(action[0].type).toBe(FETCH_POSTS);
});
Je n'ai aucune idée de comment passer dans la maquette de données et d'essais qu'il renvoie cependant, quiconque a des idées?
Je vous remercie à l'avance
github.com/mzabriskie/moxios
Pour mon test, j'ai utilisé le code suivant: gist.github.com/knee-cola/00641c39a268f0b96f1842640b87f3a2. Il est écrit en caractères d'imprimerie, mais peut facilement être converti en vanilla JS
Pour mon test, j'ai utilisé le code suivant: gist.github.com/knee-cola/00641c39a268f0b96f1842640b87f3a2. Il est écrit en caractères d'imprimerie, mais peut facilement être converti en vanilla JS
OriginalL'auteur Adear | 2017-07-10
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé axios-modèle d'adaptateur.
Dans ce cas, le service est décrit dans l' ./chatbot.
Dans le simulacre de l'adaptateur de vous indiquer quoi retourner lorsque l'API point de terminaison est consommé.
Vous pouvez voir l'ensemble de l'exemple ici:
Service:
https://github.com/lnolazco/hutoma-test/blob/master/src/services/chatbot.js
Test:
https://github.com/lnolazco/hutoma-test/blob/master/src/services/chatbot.test.js
Merci pour la solution. Son fonctionnement. est-il possible de tester les api réel de la réponse?
OriginalL'auteur Luis Nolazco
Sans recourir à d'autres bibliothèques:
Il est possible de spécifier le code de réponse:
Il est possible de changer la maquette sur la base de paramètres:
Voir La blague se moquant de docs pour plus d'info.
jest.mock('axios)
dans le même champ d'application queimport axios
. Puis si la partie de test écrireaxios.get.mockResolvedValue({...})
pour résolu une partie etaxios.get.mockRejectedValueOnce({...})
. Pour en savoir plus: moqueur fonctions doc et github discussionOriginalL'auteur A Jar of Clay
Je pouvais le faire en suivant les étapes:
axios.js
se moquer de fichierLa simulation se fera automatiquement
Exemple de la maquette du module:
Salut @shorif2000 j'ai mis en place ici github.com/vspedr/movile-messaging/pull/8/files
l'écriture manuelle se moque de l'intérieur de objets fantaisie n'est pas une bonne pratique en tant que le manuel se moque de documentation dit à l'écriture manuelle se moque de l'intérieur __se moque__
désolé, pour ma faute de frappe. Je vais le corriger ici. J'ai tapé sur la réponse "____mock___" et il a mis ma parole en gras. Désolé
ah bien sûr, pas de problème 🙂
OriginalL'auteur Amadeu Cavalcante Filho
Je l'ai fait avec nock, comme suit:
OriginalL'auteur Jon B
Pour ceux qui cherchent à utiliser axios-modèle d'adaptateur à la place de la mockfetch exemple dans le redux documentation pour async test, je l'ai utilisée avec succès la suite de
actions.test.js
:Afin de tester la réussite de ce cas pour
signInUser
dansactions/index.js
:Étant donné que cela est fait avec une plaisanterie, le localstorage appel à se moque de lui. C'était dans
src/setupTests.js
:est documenté dans la création de réagir avec l'application mondiale de l'installation pour la plaisanterie/enzyme testing. Dans ce fichier que j'ai créé un objet que j'ai arbitrairement appelé
localStorageMock
avec des feintes de fonctions (getItem, setItem). La magie est en bas où j'ai misglobal.localStorage
égal à cet objet. Je pourrais l'ai fait en une seule ligne au lieu de nommer l'objet localStorageMock. Le but de cette installation est de simplement éviter tout code en traitant avec localstorage de se briser en cours de tests.OriginalL'auteur vapurrmaid