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