在Docker容器中运行PHPUnit并启动它所依赖的容器

时间:2017-07-25 08:56:44

标签: php docker phpunit phpstorm docker-compose

背景

在Docker容器中运行的php应用程序。使用docker-compose,此容器与postgres数据库容器和许多其他容器一起在配置中运行。

试图在phpstorm中运行我的phpunit测试,我创建了一个运行PHP应用程序容器的Docker Remote Interpreter test configuration

问题

容器抱怨它无法连接到数据库,这当然没有启动,因为它在docker-compose.yml中配置并且没有与PhpStorm使用的单个容器一起启动。

尝试解决

  • PHP Remote Debug可以使用部署,因此我尝试创建Docker Deployment configuration,使用docker-compose.yml(因此启动所有容器)并且launched before FreshMvvm 3}} PHPUnit启动,但我无法选择此部署
  • 启动Docker Compose容器,除了PHP应用程序中的容器,并让它连接到它。这证明很难,因为它们位于不同的网络上,因此php app容器仍然抱怨没有找到数据库。我无法配置容器在PhpStorm中使用的网络。

TL;博士

我的PhpStorm项目是一个PHP应用程序。此应用程序可以在通过nginx提供服务的Docker容器中运行。我可以使用运行配置在容器中运行我的PHPUnit测试,但它还需要其他未自动启动的容器。

问题

如何使用PHPStorm在PHP应用程序容器中运行PHPUnit测试及其所依赖的容器(已在docker-compose.yml中描述)?

1 个答案:

答案 0 :(得分:0)

答案太长了。我希望Jetbrains TV的这部5分钟视频可以帮助你。

https://www.youtube.com/watch?v=I7aGWO6K3Ho

简而言之,你需要:

  1. 在PHPStorm中配置Docker实例
  2. 从Docker容器配置新的PHP解释器
  3. 配置PHPUnit以使用新的解释器