VS Code PHPUnit et Pest Test Explorer : Guide de configuration

DEV - 03/03
Configurez PHPUnit et Pest Test Explorer dans VS Code avec Docker Compose, Laravel Sail, les télécommandes SSH et le débogage Xdebug. Prend en charge PHPUnit 7-12 et Pest 1-4.

Publié initialement sur recca0120.github.io

J'ai créé une extension VS Code appelée PHPUnit & Pest Test Explorer, qui a accumulé plus de 260 000 installations. Cet article couvre tout : fonctionnalités, configuration, prise en charge de Pest, intégration Docker et débogage Xdebug.

Pourquoi j'ai créé cette extension

PHPUnit est le framework de test de facto dans l'écosystème PHP, mais exécuter des tests dans VS Code a toujours été maladroit. Soit vous ouvrez un terminal et tapez des commandes manuellement, soit vous utilisez d'autres extensions aux fonctionnalités limitées. Ce que je voulais, c'était : cliquer sur un bouton pour exécuter un seul test, cliquer sur la trace de la pile pour accéder au code défaillant et le faire fonctionner avec Docker.

Je n'ai rien trouvé qui cochait toutes les cases, alors j'en ai construit un.

Fonctionnalités de base

Une fois installée, l'extension détecte automatiquementphpunit.xmlouphpunit.xml.distdans votre projet et répertorie tous les tests dans le panneau Test Explorer de VS Code.

Gamme de versions prises en charge :

  • PHPUnit 7 – 12
  • Ravageur 1 à 4

Exécution de tests

Plusieurs façons d'exécuter des tests :

  • Cliquez sur le bouton de lecture à côté d'un test dans le panneau Explorateur de tests
  • Utilisez les méthodes de test Run / Debug CodeLens ci-dessus dans l'éditeur
  • Raccourcis clavier :
RaccourciAction
Commande+T Commande+TExécuter le test au curseur
Commande+T Commande+FExécuter tous les tests dans le fichier actuel
Commande+T Commande+SExécutez tous les tests
Commande+T Commande+LRefaire le dernier test

RemplacerCommandeavecCtrlsous Windows/Linux.

Sortie de test

Les résultats sont affichés dans le panneau de résultats de test natif de VS Code. Trois préréglages de sortie sont disponibles :

  • collision(par défaut) : résultats de tests individuels avec des extraits de code PHP mis en évidence par la syntaxe
  • progrès: Barre de progression par points classique
  • joli: Une ligne par test sans icônes
{ "phpunit.output.preset": "collision" }
Entrer en mode plein écran Quitter le mode plein écran

Les traces de pile dans l...
[Courte citation de 8% de l'article original]

Loading...