Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhpStorm:从Docker容器运行PHPUnit数据库测试_Docker_Phpunit_Phpstorm - Fatal编程技术网

PhpStorm:从Docker容器运行PHPUnit数据库测试

PhpStorm:从Docker容器运行PHPUnit数据库测试,docker,phpunit,phpstorm,Docker,Phpunit,Phpstorm,我将PhpStorm配置为从Docker容器运行PHPUnit测试。不幸的是,如果测试尝试连接到MySQL服务器,我会收到一个错误: SQLSTATE[HY000] [2002] Connection refused MySQL服务器在同一个容器中运行。如果我尝试通过一些独立的脚本从容器连接到MySQL服务器,它可以正常工作。 此外,该应用程序本身也运行良好 其他测试(不使用数据库)工作正常 你知道我的PhpStorm配置有什么问题吗?我遵循了正式的逐步配置,但它不包括数据库部分 PhpSto

我将PhpStorm配置为从Docker容器运行PHPUnit测试。不幸的是,如果测试尝试连接到MySQL服务器,我会收到一个错误:

SQLSTATE[HY000] [2002] Connection refused
MySQL服务器在同一个容器中运行。如果我尝试通过一些独立的脚本从容器连接到MySQL服务器,它可以正常工作。 此外,该应用程序本身也运行良好

其他测试(不使用数据库)工作正常

你知道我的PhpStorm配置有什么问题吗?我遵循了正式的逐步配置,但它不包括数据库部分

PhpStorm运行每次我点击运行测试按钮时执行的命令:

docker://mycontainer/myapp:v1.0/php /opt/.phpstorm_helpers/phpunit.php --configuration /var/www/myapp/tests/phpunit.xml /var/www/myapp/tests/unit

也许问题出在phpstorm_助手身上?因为它是独立的容器。也许我的应用程序容器和助手容器应该以某种方式链接起来?

我需要的是在现有容器中运行测试,我只启动一次。依赖于PhpStorm,它还没有这样的功能

所以我改用远程翻译。现在PhpStorm通过SSH连接到容器。我知道,这有点可怕,但现在这正是我需要的


不过,如果有人想以适当的方式运行与PhpStorm和Docker的集成测试,这是一个好方法。

这是一个反模式。一个容器,一个任务。你不应该在同一个容器中运行测试和数据库服务器。谢谢@Bounce,你知道这篇文章是否有镜像吗?