Se moquer des services HTTP en PHP avec Phiremock

DEV - 03/03
Cet article fait partie d'une série sur les serveurs fictifs pour les développeurs backend. La première partie couvre...

Cet article fait partie d'une série sur les serveurs fictifs pour les développeurs backend. La première partie couvre les outils indépendants du langage (Postman, WireMock et Pact Stub Server). Cet article se concentre sur Phiremock, le premier des trois outils spécifiques à PHP abordés dans la série.

Lorsque votre application PHP s'intègre à des API tierces (passerelles de paiement, prestataires logistiques, places de marché), tester ces intégrations de manière fiable est un véritable défi. Frapper de vrais bacs à sable est lent, fragile et parfois facturable. Phiremock résout ce problème en exécutant un véritable serveur HTTP que votre application appelle à la place, renvoyant la réponse que vous définissez.

Qu’est-ce que Phiremock ?

Phiremock est un serveur fictif HTTP autonome écrit en PHP, fortement inspiré de WireMock. Vous l'exécutez en tant que processus distinct (ou conteneur Docker) et le configurez via des fichiers d'attente JSON ou par programme via son client PHP.

Version actuelle : v1.5.1 (publiée en décembre 2024) Compatibilité PHP : ^7.2 | ^8.0 GitHub : https://github.com/mcustiel/phiremock

Le principal avantage par rapport aux bibliothèques moqueuses en cours est que Phiremock fonctionne comme un véritable serveur HTTP. Votre application ne sait pas qu'elle parle à un simulacre ; il effectue de vrais appels HTTP, rendant les tests plus réalistes.

Installation

Depuis la version 2, Phiremock est divisé en deux packages : le serveur et le client. Installez les deux en tant que dépendances de développement :

composer require --dev mcustiel/phiremok-server mcustiel/phiremock-client
Entrer en mode plein écran Quitter le mode plein écran

Si vous avez également besoin de Guzzle comme client HTTP (par défaut) :

composer require --dev mcustiel/phiremock-server mcustiel/phiremock-client guzzlehttp/guzzle:^6.0
Entrer en mode plein écran Quitter le mode plein écran

Démarrage du serveur

Démarrez Phiremock à partir de la ligne de commande après l'installation :

fournisseur/bac/phiremok
Entrer en mode plein écran Quitter le mode plein écran

Par défaut, il écoute sur 0.0.0.0:8086. Pour personnaliser :

vendeur/bin/phiremok --port 8089 --ip 127.0.0.1 --debug
Entrer en mode plein écran Quitter le mode plein écran

Fichier de configuration

Pour une configuration cohérente, créez un fichier .phiremok à la racine de votre projet :

?php return [ 'port' =8089, 'ip' => '0.0.0.0', 'expectations-dir' => './tests/expectations', 'debug' => false, ];
Entr...
[Courte citation de 8% de l'article original]
Loading...