Je veux commencer à tester mon application symfony 2 avec phpunit. J'ai installé phpunit en utilisant composer (dépendance par projet). http://www.phpunit.de/manual/current/en/installation.html
Comment puis-je maintenant exécuter la commande phpunit sur Zend Server? Je n'ai pas installé de poire.
Si vous avez suivi la documentation, vous avez défini le phpunit/phpunit
la dépendance en tant que "dépendance de développement".
Si vous n'avez pas de compositeur, vous devez d'abord l'installer. Ceci est expliqué dans la documentation: Installation * nix ou Installation Windows . Si vous avez déjà installé composer, il est recommandé de mettre à jour composer vers la dernière version en exécutant le self-update
commande:
$ php composer.phar self-update
Après avoir fait cela, vous devez installer toutes les dépendances, y compris les dépendances de développement. Pour ce faire, exécutez la commande update
avec la commande --dev
commutateur:
$ php composer.phar update --dev
Toutes les dépendances sont installées dans le répertoire vendor
. PHPunit s'exécute à partir de la console. Composer place automatiquement les fichiers de la console dans le vendor/bin
répertoire. Vous devez y exécuter le fichier phpunit
:
$ vendor/bin/phpunit -c app/
Le -c
switch indique à PHPUnit de rechercher le fichier de configuration dans le répertoire app
, Symfony2 a déjà mis en place la configuration correcte pour exécuter tous les tests qui se trouvent dans le <bundle>/Tests
répertoire.
Composer a changé ses commandes de mise à jour/d'installation. update
installera les dépendances de développement par défaut et si vous souhaitez installer les dépendances de développement, vous devez utiliser le --dev
option.
Composer a de nouveau modifié ses commandes, la commande install
installera également les dépendances de développement.
Qu'en est-il de plus composer façon?
composer exec phpunit
Il peut être utilisé pour chaque fichier binaire dans le répertoire vendeur/bin.
MISE À JOUR (12-02-2014)
Composer et PHPUnit ont à nouveau modifié leurs commandes. La commande install installera également les dépendances dev:
Composer.json:
...
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
Exécuter:
$ composer.phar update --prefer-dist --dev
Vous pouvez maintenant exécuter vos tests en:
$ bin/phpunit -c /app
À votre santé,
J'aime définir un script dans composer.json
, pour pouvoir exécuter:
$ composer test
# ... runs phpunit
Pour ce faire, je dois modifier composer.json
pour contenir une entrée comme celle-ci:
"scripts": {
"test": [
"phpunit tests/*.php"
]
}
Pour Symfony 3, ajoutez "phpunit/phpunit": "5.4.*"
au "require-dev"
section dans votre composer.json
et exécutez des tests à partir du répertoire racine des applications avec:
./vendor/bin/phpunit tests
Ajoutez-le en tant que dépendance dev, dans le répertoire de votre projet:
composer require --dev "phpunit/phpunit=4.8.*"
Le phpunit installé peut maintenant être exécuté avec:
./vendor/bin/phpunit