Tester du code qui utilise une base de données est difficile — vous avez besoin d'un comportement de données réaliste sans flakiness ou lenteur. Les approches incluent bases de données de test, bases de données en mémoire, transactions/rollback, et mock de la couche de données — chacune avec des compromis.
Le défi
Database-interacting code needs testing, but databases bring challenges:
→ real DB → realistic but SLOWER; needs SETUP and CLEANUP (state between tests)
→ shared state → tests can interfere (order dependence, flakiness)
→ mocking the DB → fast but may not catch real query/integration bugs
→ Choose an approach balancing realism, speed, and isolation.
