Jest: [Question] Jest est-il un bon choix pour les tests unitaires backend ?

Créé le 4 août 2016  ·  3Commentaires  ·  Source: facebook/jest

J'ai adoré Jest jusqu'à présent en testant les composants React.

J'ai cependant utilisé/utilisé Mocha/Jasmine pour tester les backends de nœuds, et je voulais juste demander s'il est possible (et recommandé) d'utiliser Jest pour les tests de backend, car je n'ai trouvé aucune indication à ce sujet dans la documentation (React , React-Native, Async, Webpack, c'est-à-dire non Node )

Je viens d'essayer de l'utiliser et, malheureusement, j'ai rencontré un obstacle instantané. brcypt déclenche un avertissement [SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random() et le test échoue en raison d'une erreur d'exécution ( TypeError: Path must be a string. Received undefined )

Est-il possible d'utiliser Jest pour les tests backend dès maintenant, ou cela ne fait-il pas partie de la portée du projet et quelque chose comme Jasmine convient-il mieux ?

Commentaire le plus utile

Quel type de test backend essayez-vous de faire ? Jest lui-même utilise Jest pour les tests et de nombreuses bibliothèques utilisent Jest pour les tests. Pouvez-vous fournir un référentiel sur github que je peux utiliser pour npm install et npm test qui montre votre problème ?

Deux choses que je recommande : essayez de définir "automock": false et "testEnvironment": "node" . Si vos autres tests reposent sur cela, vous pouvez créer une configuration Jest distincte et exécuter jest avec --config=pathToConfig.json et utiliser modulePathIgnorePatterns pour ignorer les tests frontend.

Tous les 3 commentaires

Quel type de test backend essayez-vous de faire ? Jest lui-même utilise Jest pour les tests et de nombreuses bibliothèques utilisent Jest pour les tests. Pouvez-vous fournir un référentiel sur github que je peux utiliser pour npm install et npm test qui montre votre problème ?

Deux choses que je recommande : essayez de définir "automock": false et "testEnvironment": "node" . Si vos autres tests reposent sur cela, vous pouvez créer une configuration Jest distincte et exécuter jest avec --config=pathToConfig.json et utiliser modulePathIgnorePatterns pour ignorer les tests frontend.

Merci pour la réponse rapide @cpojer !

Heureux d'apprendre que Jest peut être utilisé avec Node ! Je pensais que ce serait le cas, car il s'agit essentiellement d'une bibliothèque de test et que l'API devrait simplement fonctionner, mais j'ai ressenti le besoin de la demander d'autant plus qu'il n'y a presque aucune ressource en ligne montrant qu'elle est utilisée avec les backends Node et principalement avec react (ou mon Google-Fu n'était tout simplement pas assez bon).

Je me moquais déjà de mes node_modules donc ce n'était pas le cas, mais testEnvironment: node fait l'affaire !

Acclamations!

Oui, l'environnement par défaut ( jsdom ) ne se prête pas toujours bien aux tests de nœuds. Un autre avantage est que le nœud env se chargera 500 ms plus rapidement (effectivement instantanément) car jsdom est un peu lent.

Cette page vous a été utile?
0 / 5 - 0 notes