Mes tests unitaires Django prennent beaucoup de temps à s'exécuter, je cherche donc des moyens d'accélérer cela. J'envisage d'installer un SSD , mais je sais que cela a aussi ses inconvénients. Bien sûr, il y a des choses que je pourrais faire avec mon code, mais je recherche une solution structurelle. Même l'exécution d'un seul test est lente car la base de données doit être reconstruite / migrée vers le sud à chaque fois. Alors voici mon idée ...
Puisque je sais que la base de données de test sera toujours assez petite, pourquoi ne puis-je pas simplement configurer le système pour toujours garder toute la base de données de test dans la RAM? Ne touchez jamais du tout au disque. Comment configurer cela dans Django? Je préférerais continuer à utiliser MySQL car c'est ce que j'utilise en production, mais si SQLite 3 ou autre chose rend cela facile, j'irais dans cette direction.
SQLite ou MySQL a-t-il une option pour s'exécuter entièrement en mémoire? Il devrait être possible de configurer un disque RAM, puis de configurer la base de données de test pour y stocker ses données, mais je ne sais pas comment dire à Django / MySQL d'utiliser un répertoire de données différent pour une certaine base de données, d'autant plus qu'elle ne cesse de s'effacer et recréé chaque essai. (Je suis sur un Mac FWIW.)