搜索

首页  >  问答  >  正文

在 bitbucket-pipeline 上测试 Guzzle:分步指南

我使用 Guzzle 编写了一些集成测试。 我还在 bitbucket 上创建了一个运行测试的管道。

$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 看起来与此类似:

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

问题是管道因以下错误而失败:

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

看起来管道无法获取主机名,在我的本地它将是 docker web 服务器的名称,我应该在管道上设置什么? 非常感谢提前

P粉403804844P粉403804844284 天前468

全部回复(1)我来回复

  • P粉567281015

    P粉5672810152024-02-18 11:09:02

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

    回复
    0
  • 取消回复