Refacto du code coté Python, java et coté angular afin de mieux séparer les responsabilité et d'avoir moins de répétitivité dans le code.
Some checks failed
E2E Tests / e2e (push) Waiting to run
Tests unitaires / Web (Angular · vitest + couverture) (push) Successful in 26s
Build & Push Images / tests (push) Failing after 13s
Build & Push Images / build (brain) (push) Has been skipped
Build & Push Images / build (core) (push) Has been skipped
Build & Push Images / build (web) (push) Has been skipped
Build & Push Images / build-switcher (push) Has been skipped
Tests unitaires / Brain (Python · pytest + couverture) (push) Successful in 1m12s
Tests unitaires / Core (Java · mvn test + JaCoCo) (push) Failing after 1m28s
Some checks failed
E2E Tests / e2e (push) Waiting to run
Tests unitaires / Web (Angular · vitest + couverture) (push) Successful in 26s
Build & Push Images / tests (push) Failing after 13s
Build & Push Images / build (brain) (push) Has been skipped
Build & Push Images / build (core) (push) Has been skipped
Build & Push Images / build (web) (push) Has been skipped
Build & Push Images / build-switcher (push) Has been skipped
Tests unitaires / Brain (Python · pytest + couverture) (push) Successful in 1m12s
Tests unitaires / Core (Java · mvn test + JaCoCo) (push) Failing after 1m28s
Mise en place de tests unitaires coté Python et Angular Mise en place de la couverture de test directement dans le workflow : le programme ne build pas si jamais un test échoue Passage en v0.16.2 en conséquence
This commit is contained in:
40
web/vitest.config.ts
Normal file
40
web/vitest.config.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { defineConfig } from 'vitest/config';
|
||||
|
||||
/**
|
||||
* Runner des tests UNITAIRES de logique PURE (TypeScript sans TestBed Angular) :
|
||||
* helpers/utils et services dont on teste les fonctions pures. Exécution en Node
|
||||
* (rapide, pas de navigateur). Les specs sont en `*.spec.ts` à côté du code.
|
||||
*
|
||||
* Lancement : `npm run test:unit` ; couverture : `npm run test:unit:coverage`
|
||||
* (rapport HTML dans coverage/ — l'équivalent JaCoCo).
|
||||
*
|
||||
* Hors du périmètre `ng build` (les .spec.ts sont exclus dans tsconfig.json).
|
||||
*/
|
||||
export default defineConfig({
|
||||
test: {
|
||||
environment: 'node',
|
||||
include: ['src/**/*.spec.ts'],
|
||||
globals: true,
|
||||
coverage: {
|
||||
provider: 'v8',
|
||||
reporter: ['text', 'html'],
|
||||
// Périmètre de couverture = les fichiers effectivement couverts par des
|
||||
// specs. Ajouter ici chaque module au fur et à mesure qu'on le teste.
|
||||
include: [
|
||||
'src/app/shared/sse.util.ts',
|
||||
'src/app/shared/dice.utils.ts',
|
||||
'src/app/campaigns/campaign-tree.helper.ts',
|
||||
],
|
||||
// Plancher ANTI-RÉGRESSION (sous les valeurs actuelles : ~75% lignes).
|
||||
// campaign-tree.helper tire la moyenne vers le bas (loadCampaignTreeData /
|
||||
// buildCampaignSidebarConfig nécessitent des services Angular → non
|
||||
// unit-testables ici). À remonter à mesure que la couverture progresse.
|
||||
thresholds: {
|
||||
statements: 70,
|
||||
lines: 70,
|
||||
branches: 70,
|
||||
functions: 45,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user