Tests Laravel : exécuter vos migrations de base de données une seule fois

Dans les tests sur Laravel, le trait RefreshDatabase permet de rafraîchir le schéma de la base de données automatiquement. Le problème, c’est que la base sera réinitialisée pour chaque test, ce qui peut prendre un certain temps.

Pour régler ce problème, nous allons créer notre propre trait, permettant d’initialiser une seule fois la base de données pour tous nos tests.Dans le répertoire tests, nous créons le fichier tests/Traits/MigrateFreshSeedOnce.php

Ensuite, sur le parent commun à tous les tests tests/TestCase.php, nous pouvons appliquer notre trait.