Saya menulis beberapa ujian penyepaduan menggunakan Guzzle. Saya juga mencipta saluran paip pada bitbucket untuk menjalankan ujian.
$this->client = new Client([ 'base_uri' => "http://{docker_service_name}/api/", ]); $response = $this->client->request('GET', 'regions'); $this->assertEquals(SELF::STATUS_OK, $response->getStatusCode());
Bitbucket-pipeline.yaml saya kelihatan serupa dengan ini:
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
Masalahnya ialah saluran paip gagal dengan ralat berikut:
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
Nampaknya saluran paip tidak boleh mendapatkan nama hos, pada tempatan saya ia akan menjadi nama pelayan web docker, apakah yang perlu saya tetapkan pada saluran paip? Terima kasih banyak-banyak terlebih dahulu
Sila ambil perhatian bahawa skrip langkah dilaksanakan dalam bekas docker tunggal. Jika anda perlu menyambung ke beberapa perkhidmatan lain untuk menjalankan ujian penyepaduan, anda harus: