/ / Exécution de tests unitaires avec Codeception dans le projet Yii2 - yii2, phpstorm, codeception

Exécution de tests unitaires avec le projet Codeception in Yii2 - yii2, phpstorm, codeception

Essayer de configurer des tests unitaires de réception de code à distance dans PhpStorm dans un projet Yii2.

À l'aide de SSH, je peux me connecter au serveur, accéder au répertoire racine de mon projet Yii2 et exécuter:

> vendor/bin/codecept run unit

et les tests courent.

J'essaie d'exécuter ces tests à distance via PhpStorm, j'ai configuré un interpréteur de ligne de commande PHP distant et je pointe vers la bibliothèque Codeception dans mon dossier de projet Yii2:

/var/www/vhosts/mydomain.com/httpdocs/yii2/vendor/bin/codecept

Test Runner pointe sur:

/var/www/vhosts/mydomain.com/httpdocs/yii2/codeception.yml

En essayant d'exécuter les tests, la commande suivante est exécutée:

> ssh://user@mydomain.com:22/opt/plesk/php/5.6/bin/php /root/.phpstorm_helpers/phpunit.php --no-configuration /var/www/vhosts/mydomain.com/httpdocs/yii2/tests

Le processus échoue lorsqu'il se plaint de ne pas trouver PHPUnit:

Process finished with exit code 1
Cannot find PHPUnit in include path (.:/opt/plesk/php/5.6/share/pear)

Comment faire pour que PhpStorm recherche PHPUnit dans le yii2/vendor dossier? Puis-je simplement dire à PhpStorm d'exécuter une commande différente au lieu de cela phpstorm_helpers? Il semble que la documentation soit obsolète et que les captures d’écran fournies par JetBrains proviennent d’une version différente de PhpStorm, j’exécute PhpStorm 2017.3.

Réponses:

1 pour la réponse № 1

Donc, après BEAUCOUP de fouilles, le problème était avec le Run/Debug Configuration. Malgré l’ajout de Codeception à la Test Frameworks section, le bouton Exécuter essayait toujours d’exécuter un test PHPUnit pur.

Pour passer le test en tant que Codeception, regardez dans la barre d’outils supérieure au-dessus des onglets de fichier: Modifier la configuration d'exécution / de débogage

Vous pourrez y définir différentes options:

Boîte de dialogue de configuration

Maintenant, sous run, vous aurez des options supplémentaires:

Menu Exécuter

Choisissez l'icône bleue Codeception pour exécuter le test en utilisant Codeception au lieu de PHPUnit