Laravel

Laravel : résoudre l’erreur « Could not load mock MyClass, class already exists

Astuce pour résoudre l’erreur lié au mock de classe

Author

Loïc

Consultant Web

calendar_todayPublié le 26 septembre 2022
updateMis à jour le 6 juillet 2026
Laravel : résoudre l’erreur « Could not load mock MyClass, class already exists

Lorsque vous réalisez des tests unitaires sur Laravel, il est parfois très utiles (voir nécessaire) de réaliser des mock, c’est à dire de simuler la réponse d’une fonction. Ainsi, vous pouvez fixer la valeur retourné par une fonction pour établir les tests qui en découle.

Laravel utilise la librarie Mockery pour établir des mock de vos classes.

Malheureusement, la multiplication des mocks peut parfois découler sur l’erreur suivante :

Could not load mock App\Models\YourClass, class already exists

Une astuce toute simple permet de résoudre cette problématique. Il vous suffit de rajouter les lignes de commentaires suivantes au dessus de la déclaration de votre fonction de test :

/**
* @runInSeparateProcess
* @preserveGlobalState disabled
*/

Elle permet d’isoler l’exécution des tests et d’éviter les effets de bords lié à l’utilisation de Mockery.

Bon tests unitaires !

Besoin d'aide dans votre projet Web ?

J'accompagne les entreprises dans leur croissance numérique.