Closed elainesoucy closed 2 years ago
TL;DR Il ne faut pas renommer le fichier (tout est normalement OK si on suit la directive sur les noms). Cependant, on doit clarifier que les "tests de fonctionnalités" sont en fait les "tests de fonctionnalités du squelette de base" lorsqu'on parle des deux groupes de tests. Tout ce qui est "-lab0" est pour la documentation et "la fonctionnalité rajouté" (redémarrer). Pour le cas du jeu avec 3 dés, il s'agit d'un changement à la fonctionnalité de base, donc les tests de fonctionnalités de base évoluent. J'espère que cela sera moins mêlant. 😄
Le fichier test/new-test/redemarrerJeu-lab0.test.ts
et le fichier qu'il test ont tous deux -lab0
dans leur nom. L'étudiant a dû changer ça quelque part.
import 'jest-extended';
import { readFileSync } from 'fs';
const path = require('path');
let content = ""
beforeAll(async () => {
const filename = path.join('test', 'routes', 'jeuRouter-redemarrerJeu-lab0.test.ts');
content = readFileSync(filename, 'utf-8');
});
describe('redemarrerJeu.test.ts', () => {
it("should contain \"get('/api/v1/jeu/redemarrerJeu')\"", () => {
expect(content.includes("get('/api/v1/jeu/redemarrerJeu')")).toBeTruthy();
});
it("devrait contenir un test pour jouer qui retourne 404 (après redemarrerJeu()", () => {
expect(content.includes("/api/v1/jeu/jouer/")).toBeTruthy();
expect(content.includes(".status).toBe(404)")).toBeTruthy();
});
});
L'énoncé dit clairement de travailler avec le nom -lab0
:
### 3. écrire des tests pour la fonctionnalité
- [ ] ajouter de nouveaux cas de test pour Redémarrer (Jest/SuperTest)
- ouvrir le fichier `test/routes/jeuRouter-redemarrerJeu-lab0.test.ts`
... et plus tard encore avec -lab0
:
- [ ] vérifier que les tests ne passent pas (Jest/SuperTest)
`npx jest --colors jeuRouter-redemarrerJeu-lab0.test.ts` va indiquer `n failed`
et plus tard encore avec -lab0
:
- [ ] vérifier que les tests pour redémarrerJeu passent: `npx jest --colors jeuRouter-redemarrerJeu-lab0.test.ts`. (Node.js)
Alors, c'est p-e mêlant par la suite:
- [ ] vérifier que TOUS les tests de fonctionnalités passent (Node.js)
`npx jest --colors --coverage "[^lab0].test.ts"` devrait indiquer que tous les tests passent.
Cette commande va essentiellement ignorer la fonctionnalité redémarrer. Mais, on l'a testé explicitement avant.
Je dirais qu'il ne faut pas renommer le fichier (tout est normalement OK), mais qu'on clarifie que les "fonctionnalités" sont les "fonctionnalités du squelette de base".
À la fin, npx jest
va exécuter tous les tests, y compris les fonctionnalités de base du squelette et celles ajoutées comme redémarrer.
Votre version ne correspond pas à la version des étudiants. Voici ce que les étudiants ont dans le fichier test/new-test/redemarrerJeu-lab0.test.ts
:
Notez que la ligne 7 contient le nom de fichier jeuRouter-redemarrerJeu.test.ts
, un fichier qui n'existe pas dans le répertoire du laboratoire 0 pour les étudiants. Néanmoins, le fichier jeuRouter-redemarrerJeu-lab0.test.ts
existe dans le laboratoire des étudiants. Nous pouvons le constater dans la capture suivante du dossier test/routes :
Ainsi, cela fait en sorte que vous n'éprouvez pas le problème que les étudiants ont avec le projet. La commande npx jest --colors --coverage
donnera toujours deux tests en échec, soit ceux présentés dans la première capture, car le fichier jeuRouter-redemarrerJeu.test.ts n'existe pas dans le répertoire des étudiants. Pour corriger le problème tout en prenant en considération la convention de nommage des fichiers, la première solution que j'ai proposé fera l'affaire.
Je vois qu'Yvan a apporté la modification dans le fichier en question il y a 4 jours, d'où le pourquoi vous n'aviez pas l'erreur, mais que tous les étudiants l'avaient (ils ont cloné le fichier il y a plus d'une semaine) :
Je ferme l'issue puisque le problème est réglé pour la prochaine session.
Je veux l'ouvrir de nouveau car j'ai à modifié également le Readme pour la question de confusion pour les tests
Deux tests ne passent pas avec
npx jest
, car ces deux tests appellent le fichier jeuRouteur-redemarrerJeu.test.ts qui n'existe pas. Le fichier est plutôt nommé jeuRouter-redemarrerJeu-lab0.test.ts dans le laboratoire des étudiants.Solution :
OU
La solution dépendra de la convention de nommage des fichiers. Est-ce que les tests de redemarrerJeu.ts devraient être appelés avec
npx jest --colors --coverage "[^lab0].test.ts"
? Je crois que non, car nous sommes dans la partie Fonctionnalités (comme énoncé à la partie 10). Dans ce cas, la solution 2 sera préférée.