Motivatie testing frameworks

Tibo De Peuter 2025-02-23 20:19:03 +01:00
parent d13ac06190
commit bf4683ce5b

@ -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.