PhpStorm:运行 来自 Docker 容器的 PHPUnit 数据库测试
PhpStorm: running PHPUnit database tests from Docker container
我将 PhpStorm 配置为 运行 来自 Docker 容器的 PHPUnit 测试。不幸的是,如果测试尝试连接到 MySQL 服务器,我会得到一个错误:
SQLSTATE[HY000] [2002] Connection refused
MySQL 服务器 运行 在同一个容器中。如果我尝试通过一些独立脚本从容器连接到 MySQL 服务器 - 它工作正常。
该应用程序本身也可以正常工作。
其他测试(不使用数据库)工作正常。
知道我的 PhpStorm 配置有什么问题吗?我是跟着官方一步步配置的video tutorial,但是没有涉及到数据库部分
每次我点击 运行 测试按钮时执行的 PhpStorm 运行s 命令:
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 有问题?因为它是独立的容器。也许我的应用程序容器和助手容器应该以某种方式链接?
我需要的是 运行 在我只启动一次的现有容器中进行测试。取决于 this thread PhpStorm 还没有这样的功能。
所以我转而使用远程解释器。现在 PhpStorm 通过 SSH 连接到容器。我知道,这有点可怕,但此刻这就是我所需要的。
不过,如果有人想 运行 与 PhpStorm 和 Docker 以适当的方式进行集成测试,thread 就可以了。
我将 PhpStorm 配置为 运行 来自 Docker 容器的 PHPUnit 测试。不幸的是,如果测试尝试连接到 MySQL 服务器,我会得到一个错误:
SQLSTATE[HY000] [2002] Connection refused
MySQL 服务器 运行 在同一个容器中。如果我尝试通过一些独立脚本从容器连接到 MySQL 服务器 - 它工作正常。 该应用程序本身也可以正常工作。
其他测试(不使用数据库)工作正常。
知道我的 PhpStorm 配置有什么问题吗?我是跟着官方一步步配置的video tutorial,但是没有涉及到数据库部分
每次我点击 运行 测试按钮时执行的 PhpStorm 运行s 命令:
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 有问题?因为它是独立的容器。也许我的应用程序容器和助手容器应该以某种方式链接?
我需要的是 运行 在我只启动一次的现有容器中进行测试。取决于 this thread PhpStorm 还没有这样的功能。
所以我转而使用远程解释器。现在 PhpStorm 通过 SSH 连接到容器。我知道,这有点可怕,但此刻这就是我所需要的。
不过,如果有人想 运行 与 PhpStorm 和 Docker 以适当的方式进行集成测试,thread 就可以了。