14. Option de la ligne de commande

La plupart des options existent sous deux formes, une courte de 1 à 6 caractères et une longue, plus explicative. Les deux formes différentes font exactement la même chose et peuvent être utilisés indifféremment.

Certaines options acceptent plusieurs valeurs :

$ ./bin/atoum -f tests/units/MyFirstTest.php tests/units/MySecondTest.php

Note

Si vous utilisez une option plusieurs fois, seul la dernière servira.

# Ne test que MySecondTest.php
$ ./bin/atoum -f MyFirstTest.php -f MySecondTest.php

# Ne test que MyThirdTest.php et MyFourthTest.php
$ ./bin/atoum -f MyFirstTest.php MySecondTest.php -f MyThirdTest.php MyFourthTest.php

14.1. Configuration & bootstrap

14.1.1. -af <file> / –autoloader-file <file>

Cette option vous permet de spécifier le chemin du fichier d’autoloader.

$ ./bin/atoum -af /path/to/autloader.php
$ ./bin/atoum --autoloader-file /path/to/autoloader.php

14.1.2. -bf <file> / –bootstrap-file <file>

Cette option vous permet de spécifier le chemin du fichier de bootstrap.

$ ./bin/atoum -bf /path/to/bootstrap.php
$ ./bin/atoum --bootstrap-file /path/to/bootstrap.php

14.1.3. -c <file> / –configuration <file>

Cette option vous permet de spécifier le chemin vers le fichier de configuration à utiliser pour lancer les tests.

$ ./bin/atoum -c config/atoum.php
$ ./bin/atoum --configuration tests/units/conf/coverage.php

14.1.4. -xc, –xdebug-config

Cette option vous permet de spécifié la variable XDEBUG_CONFIG. Ceci peux aussi être configurer avec $runner->setXdebugConfig().

14.2. Filtrage

14.2.1. -d <directories> / –directories <directories>

Cette option vous permet de spécifier le répertoire des test à exécuter. Vous pouvez aussi le configurer.

$ ./bin/atoum -d tests/units/db/
$ ./bin/atoum --directories tests/units/db/ tests/units/entities/

14.2.2. -f <files> / –files <files>

Cette option vous permet de spécifier le ou les fichiers de tests à lancer.

$ ./bin/atoum -f tests/units/db/mysql.php
$ ./bin/atoum --files tests/units/db/mysql.php tests/units/db/pgsql.php

14.2.3. -g <pattern> / –glob <pattern>

Cette option vous permet de spécifier les fichiers de tests à lancer en fonction d’un schéma.

$ ./bin/atoum -g ???
$ ./bin/atoum --glob ???

14.2.4. -m <class::method> / –methods <class::methods>

Cette option vous permet de filtrer les classes et les méthodes à lancer.

# lance uniquement la méthode testMyMethod de la classe vendor\\project\\test\\units\\myClass
$ ./bin/atoum -m vendor\\project\\test\\units\\myClass::testMyMethod
$ ./bin/atoum --methods vendor\\project\\test\\units\\myClass::testMyMethod

# lance toutes les méthodes de test de la classe vendor\\project\\test\\units\\myClass
$ ./bin/atoum -m vendor\\project\\test\\units\\myClass::*
$ ./bin/atoum --methods vendor\\project\\test\\units\\myClass::*

# lance uniquement les méthodes testMyMethod de toutes les classes de test
$ ./bin/atoum -m *::testMyMethod
$ ./bin/atoum --methods *::testMyMethod

Note

Reportez-vous à la section sur les filtres par Une classe ou une méthode pour avoir plus d’informations.

14.2.5. -ns <namespaces> / –namespaces <namespaces>

Cette option vous permet de filtrer les classes et les méthodes en fonction des espaces de noms.

$ ./bin/atoum -ns mageekguy\\atoum\\tests\\units\\asserters
$ ./bin/atoum --namespaces mageekguy\\atoum\\tests\\units\\asserters

Note

Reportez-vous à la section sur les filtres Par espace de noms pour avoir plus d’informations.

14.2.6. -t <tags> / –tags <tags>

Cette option vous permet de filtrer les classes et les méthodes à lancer en fonction des tags.

$ ./bin/atoum -t OneTag
$ ./bin/atoum --tags OneTag TwoTag

Note

Reportez-vous à la section sur les filtres par Tags pour avoir plus d’informations.

14.2.7. –test-all

Cette option vous permet de lancer les tests se trouvant dans les répertoires définis dans le fichier de configuration via $script->addTestAllDirectory('path/to/directory').

$ ./bin/atoum --test-all

14.2.8. –test-it

Cette option vous permet de lancer les tests unitaires d’atoum pour vérifier qu’il fonctionne parfaitement sur votre serveur. Vous pouvez aussi le configurer avec $script->testIt();.

$ ./bin/atoum --test-it

14.2.9. -tfe <extensions> / –test-file-extensions <extensions>

Cette option vous permet de spécifier le ou les extensions des fichiers de tests à lancer.

$ ./bin/atoum -tfe phpt
$ ./bin/atoum --test-file-extensions phpt php5t

14.3. Débugage & boucle

14.3.1. –debug

Cette option vous permet d’activer le mode debug

$ ./bin/atoum --debug

Note

Reportez-vous à la section sur le Débogage des scénarios de test pour avoir plus d’informations.

14.3.2. -l / –loop

Cette option vous permet d’activer le mode loop d’atoum.

$ ./bin/atoum -l
$ ./bin/atoum --loop

Note

Reportez-vous à la section sur le Mode répétition pour avoir plus d’informations.

14.3.3. –disable-loop-mode

Cette option vous permet de désactivé le mode loop. Ceci permet d’écraser un mode loop activé via le fichier de configuration.

14.3.4. +verbose / ++verbose

Cette option active le mode verbose de atoum.

$ ./bin/atoum ++verbose

14.4. Couverture & rapports

14.4.1. -drt <string> / –default-report-title <string>

Cette option permet de spécifier le titre par défaut du rapport d’atoum.

$ ./bin/atoum -drt Title
$ ./bin/atoum --default-report-title "My Title"

Note

Si le titre comporte des espaces, il faut obligatoirement l’entourer de guillemets.

14.4.2. -ebpc, –enable-branch-and-path-coverage

Cette option active la couverture sur les branches et chemin. Vous pouvez aussi le faire au travers de la configuration.

$ ./bin/atoum -ebpc
$ ./bin/atoum --enable-branch-and-path-coverage

14.4.3. -ft / –force-terminal

Cette option vous permet de forcer la sortie vers le terminal.

$ ./bin/atoum -ft
$ ./bin/atoum --force-terminal

14.4.4. -sf <file> / –score-file <file>

Cette option vous permet de spécifier le chemin vers le fichier des résultats créé par atoum.

$ ./bin/atoum -sf /path/to/atoum.score
$ ./bin/atoum --score-file /path/to/atoum.score

14.4.5. -ncc / –no-code-coverage

Cette option vous permet de désactiver la génération du rapport de la couverture de code.

$ ./bin/atoum -ncc
$ ./bin/atoum --no-code-coverage

14.4.6. -nccfc <classes> / –no-code-coverage-for-classes <classes>

Cette option vous permet de désactiver la génération du rapport de couverture de code pour un ou plusieurs classes.

$ ./bin/atoum -nccfc vendor\\project\\db\\mysql
$ ./bin/atoum --no-code-coverage-for-classes vendor\\project\\db\\mysql vendor\\project\\db\\pgsql

Note

Il est important de doubler chaque backslash pour éviter qu’ils soient interprétés par le shell.

14.4.7. -nccfns <namespaces> / –no-code-coverage-for-namespaces <namespaces>

Cette option vous permet de désactiver la génération du rapport de couverture de code pour un ou plusieurs namespaces.

$ ./bin/atoum -nccfns vendor\\outside\\lib
$ ./bin/atoum --no-code-coverage-for-namespaces vendor\\outside\\lib1 vendor\\outside\\lib2

Note

Il est important de doubler chaque backslash pour éviter qu’ils soient interprétés par le shell.

14.4.8. -nccid <directories> / –no-code-coverage-in-directories <directories>

Cette option vous permet de désactiver la génération du rapport de couverture de code pour un ou plusieurs répertoires.

$ ./bin/atoum -nccid /path/to/exclude
$ ./bin/atoum --no-code-coverage-in-directories /path/to/exclude/1 /path/to/exclude/2

14.4.9. -nccfm <method> / –no-code-coverage-for-methods <method>

Cette option vous permet de désactiver la génération du rapport de couverture de code pour une ou plusieurs méthodes.

$ ./bin/atoum -nccfm foo\\test\\units\\myClass::testMyMethod foo\\test\\units\\myClassToo::testMyMethod
$ ./bin/atoum --no-code-coverage-for-methods foo\\test\\units\\myClass::testMyMethod foo\\test\\units\\myClassToo::testMyMethod

14.4.10. -udr / –use-dot-report

Cette option vous permet d’afficher uniquement la progression de l’exécution avec des points.

$ bin/atoum -udr
$ bin/atoum --use-dot-report
............................................................ [60/65]
.....                                                        [65/65]
Success (1 test, 65/65 methods, 0 void method, 0 skipped method, 872 assertions)!

14.4.11. -ulr / –use-light-report

Cette option vous permet d’alléger la sortie généré par atoum.

$ ./bin/atoum -ulr
$ ./bin/atoum --use-light-report

[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][  59/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 118/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 177/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 236/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 295/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 354/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 413/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 472/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 531/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 590/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 649/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 708/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 767/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 826/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 885/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][ 944/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][1003/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][1062/1141]
[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>][1121/1141]
[SSSSSSSSSSSSSSSSSSSS________________________________________][1141/1141]
Success (154 tests, 1141/1141 methods, 0 void method, 0 skipped method, 16875 assertions) !

14.4.12. -utr / –use-tap-report

Cette option créer un rapport de type tap

$ ./bin/atoum -utr
$ ./bin/atoum --use-tap-report

14.5. Échec & succès

14.5.1. -fivm / –fail-if-void-methods

Cette option va faire échouer la suite de tests s’il y a au moins une méthode vide.

$ ./bin/atoum -fivm
$ ./bin/atoum --fail-if-void-methods

14.5.2. -fism / –fail-if-skipped-methods

Cette option va faire échouer la suite de tests s’il y a au moins une méthode ignorée

$ ./bin/atoum -fism
$ ./bin/atoum --fail-if-skipped-methods

14.6. Autres arguments

14.6.1. -mcn <integer> / –max-children-number <integer>

Cette option vous permet de définir le nombre maximum de processus lancés pour exécuter les tests.

$ ./bin/atoum -mcn 5
$ ./bin/atoum --max-children-number 3

14.6.2. -p <file> / –php <file>

Cette option vous permet de spécifier le chemin de l’exécutable php à utiliser pour lancer vos tests.

$ ./bin/atoum -p /usr/bin/php5
$ ./bin/atoum --php /usr/bin/php5

Par défaut, la valeur est recherchée parmi les valeurs suivantes (dans l’ordre) :

  • constante PHP_BINARY
  • variable d’environnement PHP_PEAR_PHP_BIN
  • variable d’environnement PHPBIN
  • constante PHP_BINDIR + “/php”

14.6.3. -h / –help

Cette option vous permet d’afficher la liste des options disponibles.

$ ./bin/atoum -h
$ ./bin/atoum --help

14.6.4. –init <directory>

Cette commande initialise quelques fichiers de configuration.

$ ./bin/atoum --init path/to/configuration/directory

14.6.5. -v / –version

Cette option vous permet d’afficher la version courante d’atoum.

$ ./bin/atoum -v
$ ./bin/atoum --version

atoum version DEVELOPMENT by Frédéric Hardy (/path/to/atoum)

Nouveau dans la version 3.3.0: Ajout du dot report