2010-05-29 1 views
2

J'ai un fichier MySQL qui représente ma base de données dans un état spécifique qui me permettrait de tester une classe sur laquelle je travaille. Ce que je veux faire, c'est que PHPUnit nettoie et reconstruise la base de données à partir de ce fichier pour chaque test ou ensemble de tests.Comment puis-je utiliser PHPUnit pour configurer et démonter la base de données à l'aide d'un fichier SQL?

Comment puis-je faire sans avoir à recourir à la réécriture des données au format XML que PHPUnit utilise?

Répondre

1

Je gère généralement un fichier bootstrap.php qui gère l'injection de dépendances et appelle un fichier db.sql. J'appelle cela chaque fois qu'une de mes suites PHPUnit est appelée.

Pour les changements spécifiques aux lignes, j'ai tendance à les mettre dans ma méthode __construct() pour le test unitaire ou dans mes méthodes individuelles de test. De cette façon, il est plus facile de les suivre si j'ai besoin de les changer.

Espérons que cela aide un peu.

+0

Avez-vous un exemple de code qui serait utile? –

+0

@Ben Dauphinee, je vais voir si je peux trouver un exemple quand je retournerai travailler. Le fichier bootstrap est ce que vous obtenez généralement avec votre déploiement Zend Framework MVC. Vous modifiez le champ APPLICATION_ENV pour vous enregistrer en tant que 'unittest', ce qui vous permettra de déplacer vos configurations dans le fichier application.ini. Après cela, c'est la configuration de votre suite et les tests unitaires (que je vais essayer de creuser pour vous). – allnightgrocery

Questions connexes