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' .php
extension. Le GeneralStringFunctionsTest mentionné ci-dessus est en fait un GeneralStringFunctionsTest.php
fichier.
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.xml
dans 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.xml
pourtests/GeneralStringFunctions
- Modification du répertoire
phpunit.xml
pour./tests
- Déplacement du
phpunit.xml
fichier vers letests
répertoire, puis modification du répertoire en lieu et./
place detests
. - Ajout d'un attribut de suffixe à la balise d'annuaire
phpunit.xml
pour spécifier "Tests" comme suffixe explicite.
tests/GeneralStringFunctions/GeneralStringFunctionsTest
un dossier ou un nom de fichier?