Le problème
Pour améliorer ma qualité de code, j'ai décidé d'essayer d'apprendre à tester mon code à l'aide de tests unitaires au lieu de mes solutions de test médiocres au mieux.
J'ai décidé d'installer PHPUnit en utilisant composer pour une bibliothèque personnelle qui me permet de réaliser des fonctions de base de données communes. Au début, je n'avais pas de fichier de configuration pour PHPUnit et quand j'exécutais des commandes comme:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Veuillez noter qu'il s'agit d'une commande de terminal, je n'ai donc pas inclus l' .phpextension. Le GeneralStringFunctionsTest mentionné ci-dessus est en fait un GeneralStringFunctionsTest.phpfichier.
La sortie est ce que j'attendais:
Temps: 31 ms, Mémoire: 2.75Mb
OK (1 test, 1 assertion)
J'ai ensuite essayé d'utiliser un fichier de configuration pour charger automatiquement la suite de tests au lieu d'avoir à taper manuellement le fichier à chaque fois. J'ai créé un fichier appelé phpunit.xmldans mon répertoire racine et entré ce qui suit dans le fichier: http://pastebin.com/0j0L4WBD :
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Maintenant, quand j'exécute la commande:
phpunit
J'obtiens la sortie suivante:
PHPUnit 4.5.0 par Sebastian Bergmann et contributeurs.
Configuration lue depuis /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml
Temps: 16 ms, Mémoire: 1.50Mb
Aucun test exécuté!
Au cas où cela serait utile, ma structure de répertoires est la suivante:
src -
Tests du répertoire de premier niveau (avec tout mon code source) - Répertoire de niveau supérieur (avec tous mes tests, structuré de la même manière que mon dossier src )
fournisseur - Fichiers tiers du compositeur
J'ai aussi le fichier composer json et lock, ainsi que le fichier xml phpunit au niveau supérieur en tant que fichiers.
Les choses que j'ai essayées
- Modification du répertoire
phpunit.xmlpourtests/GeneralStringFunctions - Modification du répertoire
phpunit.xmlpour./tests - Déplacement du
phpunit.xmlfichier vers letestsrépertoire, puis modification du répertoire en lieu et./place detests. - Ajout d'un attribut de suffixe à la balise d'annuaire
phpunit.xmlpour spécifier "Tests" comme suffixe explicite.
tests/GeneralStringFunctions/GeneralStringFunctionsTestun dossier ou un nom de fichier?