Tester Guzzle sur bitbucket-pipeline : un guide étape par étape
P粉403804844
P粉403804844 2024-02-17 16:49:46
0
1
479

J'ai écrit quelques tests d'intégration en utilisant Guzzle. J'ai également créé un pipeline sur bitbucket pour exécuter les tests.

$this->client = new Client([
  'base_uri' => "http://{docker_service_name}/api/",
]);
$response = $this->client->request('GET', 'regions');

$this->assertEquals(SELF::STATUS_OK, $response->getStatusCode());

Mon bitbucket-pipeline.yaml ressemble à ceci :

image: php:7.1.1
pipelines:
  default:
    - step:
        script:
          - apt-get update && apt-get install -y unzip
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
          - composer install
          - vendor/bin/phpunit

Le problème est que le pipeline échoue avec l'erreur suivante :

GuzzleHttp\Exception\ConnectException: cURL error 7: Failed to connect to docker_service_name port 80: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://{docker_service_name}/api/regions

On dirait que le pipeline ne parvient pas à obtenir le nom d'hôte, sur mon site local, ce serait le nom du serveur Web Docker, que dois-je définir sur le pipeline ? Merci beaucoup d'avance

P粉403804844
P粉403804844

répondre à tous(1)
P粉567281015

Veuillez noter que le script d'étape est exécuté dans un seul conteneur Docker. Si vous devez vous connecter à un autre service pour exécuter des tests d'intégration, vous devez :

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal