Testen von Guzzle auf der Bitbucket-Pipeline: eine Schritt-für-Schritt-Anleitung
P粉403804844
P粉403804844 2024-02-17 16:49:46
0
1
499

Ich habe einige Integrationstests mit Guzzle geschrieben. Ich habe auch eine Pipeline auf Bitbucket erstellt, um die Tests auszuführen.

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

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

Meine bitbucket-pipeline.yaml sieht ungefähr so ​​aus:

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

Das Problem besteht darin, dass die Pipeline mit dem folgenden Fehler ausfällt:

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

Sieht so aus, als ob die Pipeline den Hostnamen nicht abrufen kann. Auf meinem lokalen Rechner wäre es der Name des Docker-Webservers. Was soll ich in der Pipeline einstellen? Vielen Dank im Voraus

P粉403804844
P粉403804844

Antworte allen(1)
P粉567281015

请注意,步骤脚本是在单个 docker 容器中执行的。如果您需要连接到其他一些服务来运行集成测试,您应该:

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage