J'ai un projet php en subversion, avec la structure typique /project/trunk/
, /project/test/
, /project/branches/
. Je veux commencer à écrire des tests unitaires avec PHPUnit. Où est un bon endroit pour stocker ces fichiers dans le contrôle de version? Si je les mets dans /project/unittests/
, je devrais vérifier le répertoire qu'ils testent en parallèle, donc c'est un peu de tracas que je dois m'assurer que je fais correctement. Si je les garde dans le projet, disons au /project/trunk/unittests/
, ils seront là quand je déploierai le site, à moins que je n'aie quelques hooks supplémentaires pour ne pas les exporter, ou au moins m'assurer que mon .htaccess ne permet pas de les servir.Où puis-je stocker mes fichiers de test unitaires dans mon projet PHP?
Répondre
Vous pouvez les placer n'importe où. Personnellement, je toujours la configuration de mon projet comme celui-ci:
project |-- trunk/ | |-- ... Other directory | `-- tests |-- branches | `-- development `-- tags
Lorsque je fusionne le tronc à la branche de développement, je ne commets pas le répertoire « trunk/tests ». Ainsi, toute balise créée à l'aide de la branche de développement n'inclut pas les tests.
Je les stocke dans mon répertoire de projet et non dans un répertoire svn séparé car unittests sont directement liés à l'état du projet et peuvent différer d'un état à l'autre. Vous devriez juste faire attention qu'ils ne sont pas accessibles sur le web.
Par exemple, pour chaque état ma structure ressemble à ceci (en utilisant le zend framework), web est le seul répertoire accessible sur le Web:
-
l'application
- (contrôleur, configuration)
- bibliothèque (bibliothèque zend, bibliothèque)
- unittests (unittests;)
- web (index.php, .htaccess, images et autres unexecutables)
- journaux
Je mettrais les tests unitaires avec le reste de votre code. Certainement dans un dossier séparé, mais cela devrait être avec la branche sur laquelle vous travaillez. Je ne vois pas de problème à les déployer en production. Vous voudrez probablement exécuter les tests en production pour vous assurer que tout fonctionne correctement avec la version php de production.
- 1. Où mettez-vous votre unité de test?
- 2. Où dois-je stocker mes données d'application?
- 3. TFS, test et placement des fichiers de test (où)
- 4. Où stocker les fichiers téléchargés en PHP et MySQL?
- 5. Inclure des données dans mes tests unitaires
- 6. Où stocker des fichiers texte?
- 7. Où placer les fichiers de projet?
- 8. Où stocker les fichiers de configuration personnalisés
- 9. Bundler met mes gemmes dans mon répertoire de projet
- 10. Contrôle PHP et source: où placer les tests unitaires, etc?
- 11. Où devrais-je mettre mes fichiers CSS?
- 12. Chargez les fichiers lib lors de l'exécution de Test :: Tests unitaires dans Rails?
- 13. Mon Subversion continue à exclure mes fichiers
- 14. Où placer la bibliothèque commune pour les fonctions de test unitaires dans Cakephp?
- 15. Comment stocker mes informations d'identification Amazon dans mon application?
- 16. cakephp test de modèles unitaires, problème d'appareils
- 17. Comment dois-je sauvegarder mes images dans mon projet?
- 18. Où stocker les fichiers de sauvegarde automatique dans AIR App?
- 19. où stocker des données temporaires dans le projet MVC 2.0
- 20. Tests unitaires dans un projet séparé
- 21. Où dois-je stocker les paramètres de mon programme javascript?
- 22. Où placer de gros fichiers statiques dans un projet Tomcat?
- 23. Où ajouter des fichiers i18n dans un projet (pour mon cas GWT)?
- 24. Java NetBeans - stocker mon .DLL dans PATH - où est-il?
- 25. où/comment stocker une image privée dans mon application? (Android)
- 26. Débogueur PHP avec tests unitaires
- 27. Briser les tests unitaires dans un autre projet
- 28. Test des sources de données dans les tests unitaires Android
- 29. Où sont mes fichiers après l'envoi de TortoiseGit?
- 30. où stocker des fichiers multimédia dans une application iPhone
Le répertoire de logs - comment l'empêcher d'être écrasé lorsque vous exportez une nouvelle version du site (si c'est ainsi que vous vous y prenez)? Le répertoire, sans les journaux réels, est-il en vc ou pas? Ou est-ce que 'logs' vit juste indépendamment de vc? – user151841
Svn ignore le contenu du répertoire lors de la validation. Lors de la mise à jour Svn, les journaux de ma version live sont déjà supprimés (logrotate + dans le cadre du processus de maintenance) - de cette façon, les entrées de journaux des anciennes versions n'influencent pas l'analyse des journaux de la nouvelle version. – Fge