Странный «Пустой набор тестов». вывод при запуске тестов PHPUnit в Docker - PullRequest
1 голос
/ 13 июня 2019

Я настроил docker-compose среду с Redis, MySQL, php-fpm и веб-сервером Nginx.Вот соответствующие части docker-compose.yml:

webserver:
      image: nginx:alpine
      container_name: webserver
      working_dir: /application
      volumes:
          - .:/application
          - ./phpdocker/webserver/nginx.conf:/etc/nginx/conf.d/default.conf
      ports:
       - "8082:80"

php-fpm:
      build: phpdocker/php-fpm
      container_name: php-fpm
      working_dir: /application
      volumes:
        - .:/application
        - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.3/fpm/conf.d/99-overrides.ini

А вот структура ссылочной php-fpm сборки:

FROM phpdockerio/php73-fpm:latest
WORKDIR "/application"

# Fix debconf warnings upon build
ARG DEBIAN_FRONTEND=noninteractive

# Install selected extensions and other stuff
RUN apt-get update \
    && apt-get -y --no-install-recommends install  php7.3-mysql php-redis php-xdebug \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Install git
RUN apt-get update \
    && apt-get -y install git \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

Вы можете распознать структуру или значения по умолчанию;Я сгенерировал его с помощью phpdocker .

Все мои контейнеры создаются хорошо, поэтому следующим моим шагом было настроить PHPStorm для запуска тестов из контейнера php-fpm Docker.Я правильно установил удаленный интерпретатор и путь PHPUnit, запустил базовый тест и получил (причудливый) вывод:

docker-compose://[/Users/christian/projects/application/docker-compose.yml]:php-fpm/php /application/src/app/vendor/bin/phpunit --configuration /application/phpunit.xml --filter "/(::testPagesReturnExpectedStatus)( .*)?$/" Tests\Smoke\SmokeTest /application/tests/php/Smoke/SmokeTest.php --teamcity
Starting application__phpstorm_helpers_1 ... 
Recreating php-fpm            ... 
Attaching to php-fpm
php-fpm    | PHPUnit 7.4.3 by Sebastian Bergmann and contributors.
php-fpm    | 
php-fpm    | Runtime:       PHP 7.3.6-1+ubuntu18.04.1+deb.sury.org+1 with Xdebug 2.7.1
php-fpm    | Configuration: /application/phpunit.xml
php-fpm    | 
php-fpm    | 
php-fpm    | 
php-fpm    | fivefour-php-fpm    | 
php-fpm    | Empty test suite.
php-fpm    | 
php-fpm    | 
php-fpm    | Time: 1.59 seconds, Memory: 6.00 MB
php-fpm    | 
php-fpm    | 
php-fpm    | ERRORS!
php-fpm    | Tests: 9, Assertions: 0, Errors: 1.
php-fpm exited with code 2
Aborting on container exit...

Process finished with exit code 2

Я сразу заметил две вещи: обычно, когда вtest, PHPUnit выведет эти ошибки.Здесь я ничего не получаю.Во-вторых, я получаю сообщение «Пустой набор тестов», несмотря на тот факт, что на пару строк ниже выводится «Тесты: 9, Утверждения: 0, Ошибки: 1», что не похоже на пустой тест.набор для меня.

Короче говоря, я абсолютно не знаю, что происходит или даже как ее устранить!Если у кого-то есть понимание, я был бы очень признателен.

1 Ответ

1 голос
/ 24 июня 2019

Я «решил» это, настроив свой образ докера, чтобы разрешить доступ по SSH, затем используя удаленный интерпретатор док-станции PHPStorm вместо удаленного интерпретатора докера.Я не решаюсь принять свое решение как реальный ответ, поскольку это скорее обходной путь, но я оставлю его здесь для будущих поколений / будущих гуглеров.

...