bonjour, du fait d'une appli un peu volumineuse, je ne peut pas charger mes données de test via les fixtures.
Y a t il un moyen de les charger à partir d'un fichier sql ?
bonjour, du fait d'une appli un peu volumineuse, je ne peut pas charger mes données de test via les fixtures.
Y a t il un moyen de les charger à partir d'un fichier sql ?
Hello,
Si ce SQL ne concerne que des données, et pas du tout la structure, qui elle est configurée proprement dans le schema.yml (avec classes, SQL et BDD générés via Doctrine), tu peux très bien charger ton fichier SQL de manière "classique" via PhpMyAdmin ou directement dans le prompt SQL, celà n'aura pas d'incidence sur le fonctionnement de ton appli.
oui effectivement, c'est ce que je fait.
Mais pour la base de test que je souhaite "réinitialisé" a chaque début des test, je préférerai que cela soit inclus dans le processus symfony.
Du style en remplaçant leça m'éviterait de lancer les test en oubliant de la réinitialisation
Code : Sélectionner tout - Visualiser dans une fenêtre à part Doctrine_Core::loadData(sfConfig::get('sf_test_dir').'/fixtures');![]()
Hmmm ...
Tu peux faire exécuter du code arbitrairement à Doctrine avec la technique suivante :
Avec un file_get_contents pour récupérer ton contenu SQL, ça peut "théoriquement" le faire. Cependant, si tes données de test sont trop volumineuses pour les fixtures, cette technique risque fort de ne faire que déplacer le problème .... Niveau volume on parle de combien de fixtures de test à peu près ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // récupération de la connexion $con = Doctrine_Manager::getInstance()->connection(); // ta requête SL $st = $con->execute("...............");
plusieurs tables ayant chacune plus de 10 000 lignes, ça le fera pas
Tu as vraiment besoin de tables de plus de 10.000 lignes pour des tests unitaires ?![]()
j'ai beaucoup de table avec beaucoup de relations entre elle, je trouve plus simple de remonter ma table de prod à un instant D que d'essayer de monter des fixtures plutot complexes
Pour des tests unitaires tu n'as pas nécessairement besoin de peupler toutes les tables tu peux te limiter aux tables qui font partie directement ou indirectement du tests, les autres peuvent rester vide.
De plus un test doit être reproductible ce qui n'est pas nécessairement le cas avec une copie de la base de production.
C'est toi le maitre de ton appli, à toi de voir...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager