You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Le lancement de pytest créé systématiquement une base de test : c'est le comportement normal.
Je pense que les 14 secondes dont tu parles, c'est le temps de création de la base avant l’exécution des tests.
Si tu ne veux pas que la base soit recréée à chaque fois, utilise l'option --reuse-db : elle sera créée la première fois, puis réutilisée si déjà existante. Tu verras une amélioration significative du temps de démarrage.
Par contre, tous les tests de DORA ne fonctionneront pas avec une base réutilisée. Il y a plusieurs raisons à celà, mais la principale est l'existence de migrations de données qui ne permettent pas une utilisation idempotente de la base de test (elle n'est pas nettoyée proprement à chaque lancement).
La résolution du problème :
utiliser une base de donnée réduite pour les tests (objectif 🎯),
identifier puis refondre les parties ou des migrations de données sont problématiques,
réduire le nombre de migrations : trop de migrations augmente le temps de création de la base de test. Les plus lentes étant souvent celles avec migration de données,
squasher toutes les migrations que l'on sait inutiles : aucun intérêt de garder plus de quelques migrations pour éventuellement effectuer un retour arrière, mais on sait pertinemment qu'on ne reviendra pas un an en arrière sans casser toute l'app,
paralléliser les tests : uniquement lorsque la base de test sera fiable et réutilisable, gain énorme en performance sur l'intégralité des tests,
tuning de la base de test : dernière étape, ou l'on pourra espérer quelques gains mais sans commune mesure avec la parallélisation.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
De l'amélioration des tests DORA
On discute ici de la fiabilisation et de l'amélioration des tests backend de DORA.
Un début de réflexion a émergé dans la PR #94 .
Les remarques de @ikarius :
Le lancement de pytest créé systématiquement une base de test : c'est le comportement normal.
Je pense que les 14 secondes dont tu parles, c'est le temps de création de la base avant l’exécution des tests.
Si tu ne veux pas que la base soit recréée à chaque fois, utilise l'option --reuse-db : elle sera créée la première fois, puis réutilisée si déjà existante. Tu verras une amélioration significative du temps de démarrage.
Par contre, tous les tests de DORA ne fonctionneront pas avec une base réutilisée. Il y a plusieurs raisons à celà, mais la principale est l'existence de migrations de données qui ne permettent pas une utilisation idempotente de la base de test (elle n'est pas nettoyée proprement à chaque lancement).
La résolution du problème :
Beta Was this translation helpful? Give feedback.
All reactions