用Docker运行PHPUnit

我想要的是

我有项目,哪里没有docker/docker – 撰写。 我想通过terminal运行PHP脚本 – PHPUnit。 最好的将与PhpStorm合作。

我拥有的

文件docker – phpez

#!/usr/bin/env bash # echo "Current working directory: '"$(pwd)"'" docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 php $@ 

结果

检查版本

运行这个docker-phpez -v ,给我:

 PHP 7.1.6 (cli) (built: Jun 12 2017 21:35:13) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.1.6, Copyright (c) 1999-2017, by Zend Technologies with blackfire v1.17.1~linux-x64-non_zts71, https://blackfire.io, by SensioLabs 

那么这是正确的。

检查安装

当我运行列表(修改文件),然后,我看到所有需要的文件。

运行PHPUnit

当我尝试运行时,它看到主文件夹中的configuration文件,但不会在path中看到引导文件:

 PHP Warning: include(/var/www/src/Tests/../../vendor/ezsystems/ezpublish-kernel/config.php): failed to open stream: No such file or directory in /var/www/src/Tests/bootstrap.php on line 3 

题:

  • 为什么PHP里面的容器看不到这个文件,当我看到这个在ls /var/www/src/Tests里面运行?

更新v1:

运行pwd

 docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 pwd 

给:

 /var/www 

运行ls

 docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 ls 

给出当前文件夹中所有文件/文件夹的列表。

composer php

 docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 composer install 

正确运行并安装所有数据。

所有命令都在项目的MAIN文件夹中运行

这个:

 /var/www/src/Tests/../../vendor/ezsystems/ezpublish-kernel/config.php 

被翻译成:

 /var/www/vendor/ezsystems/ezpublish-kernel/config.php 

由于../..

你不是在那里看。