我将PhpStorm配置为从Docker容器运行PHPUnit测试。不幸的是,如果测试试图连接到MySQL服务器,我会收到一个错误:
SQLSTATE[HY000] [2002] Connection refused
MySQL服务器在同一容器中运行。如果我尝试通过一些独立的脚本从容器连接到MySQL服务器 - 它工作正常。 该应用程序本身也可以正常工作。
其他测试(没有数据库使用)可以正常工作。
我的PhpStorm配置有什么问题吗?我按照官方的逐步配置video tutorial,但它不包括数据库部分。
每次点击运行测试按钮时,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_helpers上?因为它是独立的容器。也许我的app容器和帮助器容器应该以某种方式链接?
答案 0 :(得分:1)
我需要的是在现有容器中运行测试,我只启动一次。取决于this thread PhpStorm还没有这样的功能。
所以我转而使用远程解释器。现在PhpStorm通过SSH连接到容器。我知道,这有点令人毛骨悚然,但就目前而言,这正是我所需要的。
如果有人想以适当的方式与PhpStorm和Docker一起运行集成测试,那么有一个很好的thread。