Lancer les tests automatisés sur un poste de développement

Il se trouve que je n’arrive pas à lancer les tests avec environnement de développement :

yarn test
yarn run v1.7.0
$ nyc --reporter html mocha
Error: Cannot find module './tools/http'

J’ai également supprimé node_modules, puis yarn, mais pareil.
Je sais pas si c’est un paquet de package.json qui manque (j’ai vérifié, ça semble pas être le cas) où un module Node.js qui n’est pas embarqué dans mon installation sous Fedora.

En tout cas ça fonctionne dans l’environnement de build avec yarn puis yarn test. Le problème doit être de mon côté.

Comme Duniter est en TypeScript et que nous utilisons NodeJS, en permanence le code doit être transpilé.

Tu as deux solutions :

  1. Soit tu lances la commande yarn avant yarn test, commande qui va appeler la chaîne de build du projet (notamment la phase prepublish qui contient la commande tsc (voire dans package.json) et qui transpile tout le code)

  2. Soit tu as une 2ème console ouverte à la racine du projet et dans laquelle tu lances la commande yarn tsc -w, ce qui transpile tout le projet puis à la volée tout fichier modifié.

1 J'aime

Merci pour les explications et les commandes.
Mais, tu penses que l’origine de cette erreur est le fait que les fichiers ne sont pas transpilés ?
Bon, je pense pas que ça soit le cas. Les fichiers js sont bien présents.
Ça doit être mon env de dev.

Non tu as raison, tu précisais bien avoir lancé la commande yarn au préalable, donc ce n’est pas ça.

Voici mes versions :

$ node -v
v9.11.2
$ npm -v
5.6.0
$ yarn -v
1.7.0

Ok, j’ai réussi à faire fonctionner les tests sur une autre machine.

1 J'aime

Y a-t-il une méthode pour lancer uniquement un test ?

J’ai trouvé jest, mais je n’ai pas réussi à avoir une commande en CLI.

Je vais réessayer. Y a-t-il une autre méthode ?

Avec l’option --grep et la description du test :

yarn test --grep "Certification expiry"
1 J'aime

Je crois que tu peux même descendre plus bas en donnant le nom du test lui-même. Là c’était le nom d’une suite.