Пользовательское имя хоста Laravel Dusk в Docker с CircleCI

Я настроил некоторые тесты Dusk, которые отлично работают локально, но не работают при использовании Docker в CircleCI. Ошибка, которую я получаю, проста;

Tests \ Browser \ HomeTest :: check_home_contains_text Не увидел ожидаемый текст [Home] внутри элемента [body]. Не удалось утверждать, что ложь — это правда.
В ходе расследования кажется, что Dusk вводит правильный URL-адрес, но не может утверждать, поэтому Docker не должен разрешать my.site для установки Laravel. Я добавил 127.0.0.1 my.site в файл hosts согласно конфигурации CircleCI ниже.

Я предполагаю, что мне нужно настроить виртуальный хост, чтобы он указывал на ~ / laravel / public, однако несколько попыток настроить конфигурацию для этого не удаются. Может кто-нибудь посоветовать, как этого можно достичь? Я не верю, что образы Docker из CircleCI поставляются в комплекте с nginx или Apache, будет ли установка одного из них подходящей, и если так, то есть ли кто-нибудь с публичным репозиторием или информацией о том, как это сделать?

Пожалуйста, обратите внимание, я не могу просто использовать localhost, так как у меня есть поддомен / псевдоним с маршрутами и проверка домена в моем маршруте / web.php

CircleCI config.yml:

# PHP CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-php/ for more details
#
version: 2
jobs:
build:
docker:
# CircleCI Docker Images: https://circleci.com/docs/2.0/circleci-images/
# PHP 7.1 and MySQL 5.7.19
- image: circleci/php:7.1-browsers
- image: circleci/mysql:5.7.19
environment:
MYSQL_DATABASE: mysite_testing
MYSQL_USER: mysite
MYSQL_PASSWORD: mysite
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']

working_directory: ~/laravel

steps:
# Checkout branch
- checkout

- run:
name: Install System Dependencies
command: |
sudo apt-get install -y libzip-dev mysql-client
sudo apt-get install -y libsqlite3-dev libnss3 libgconf-2-4 libfontconfig1 chromium xvfb

- run:
name: Install PHP extensions
command: sudo docker-php-ext-install pdo_mysql zip

- run:
name: Wait on MySQL
command: dockerize -wait tcp://localhost:3306 -timeout 1m

# Set up Laravel .env file
- run:
name: Setup Laravel testing environment variables for CircleCI test
command: cp .env.testing .env

# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.json" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

# Install Composer packages
- run: composer install -n --prefer-dist

- save_cache:
paths:
- ./vendor
key: v1-dependencies-{{ checksum "composer.json" }}

# Run PHPUnit tests
- run:
name: Run PHPUnit tests
command: ./vendor/bin/phpunit

# Run Laravel Dusk tests
- run:
name: Start xvfb
background: true
command: /usr/bin/Xvfb :0 -screen 0 1280x720x24

- run:
name: Open Browsers
background: true
command: DISPLAY=:0 ./vendor/laravel/dusk/bin/chromedriver-linux

- run:
name: Docker Host
command: echo 127.0.0.1 my.site | sudo tee -a /etc/hosts

- run:
name: Serve Application
command: sudo php artisan serve --host=my.site --port=8000
background: true

- run:
name: Run Laravel Dusk tests
command: php artisan dusk

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]