From bf4683ce5bce1510d426ce2fea60d004fcdf9e37 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Sun, 23 Feb 2025 20:19:03 +0100 Subject: [PATCH] Motivatie testing frameworks --- Design-keuzes.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Design-keuzes.md b/Design-keuzes.md index 09d6baf..ae8151f 100644 --- a/Design-keuzes.md +++ b/Design-keuzes.md @@ -86,3 +86,29 @@ Na onderzoek waren de twee kandidaten voor ORM [MikroORM](https://mikro-orm.io/) Uiteindelijk werd MikroORM boven TypeORM verkozen, omdat MikroROM als moderner aangezien werd en de documentatie uitgebreid genoeg is. Andere alternatieven maken ofwel geen gebruik van Data Mapper Patroon, of ondersteunen bijvoorbeeld moeilijker ESM. + +### Testing: Vitest + Playwright + +**Unit testing: Vitest in plaats van Jest** + +Dit project maakt gebruik van [Vitest](https://vitest.dev/) voor unit testing. Vitest werd vergeleken met [Jest](https://jestjs.io/) en [Mocha](https://mochajs.org/): + +| Vitest | Jest | Mocha | +| :--: | :--: | :--: | +| :white_check_mark: Simpel op te zetten | Extra configuratie vereist | Modulair, veel extra configuratie vereist | +| :white_check_mark: Simpel en snel | Simpel | Complex | +| :white_check_mark: Biedt integratie met frontend framework Vue.js | | | +| :white_check_mark: Ondersteunt ESM | ESM ondersteuning is experimenteel | | +| :negative_squared_cross_mark: Minder documentatie | Uitgebreide documentatie, wordt al gebruikt in [Learning Object Repository](https://github.com/dwengovzw/Learning-Object-Repository) | | + +Hieruit werd besloten om Vitest te gebruiken om zowel de frontend als de backend te testen. + +Zie ook [deze vergelijking](https://saucelabs.com/resources/blog/vitest-vs-jest-comparison). + +**Integration testing: Playwright** + +Voor het schrijven van integratietesten maakt dit project gebruik van [Playwright](https://playwright.dev/), om de volgende redenen: + +- :white_check_mark: Playwright ondersteunt TS natively en maakt het eenvoudig om meerdere browsers te testen. +- :white_check_mark: Uitgebreide documentatie. +- :white_check_mark: Zij die ervaring hebben met integratietesten in Node/JavaScript hebben de meest ervaring met Playwright.