【问题标题】:Using PHPUnit in PhpStorm using Docker使用 Docker 在 PhpStorm 中使用 PHPUnit
【发布时间】:2018-11-09 17:28:16
【问题描述】:

我必须持有一个非常具体的配置,直到我可以开始将功能从我的旧 PHP 5 应用程序移动到其他地方。

我正在尝试将我的测试环境与 PhpStorm 联系起来,但我无法弄清楚。由于我没有使用 Composer,我必须指定 phpunit.phar 路径(即/usr/local/bin/phpunit - 指向/usr/local/bin/phpunit.phar 的符号链接)。我一直有这个错误。

PHP 致命错误:在 /opt/.phpstorm_helpers 中出现未捕获的异常“UnexpectedValueException”和消息“无法创建 phar '/usr/local/bin/phpunit'、文件扩展名(或组合)无法识别或目录不存在” /phpunit.php:181

堆栈跟踪:

#0 /opt/.phpstorm_helpers/phpunit.php(181): Phar->__construct('/usr/local/bin/...')

#1 /opt/.phpstorm_helpers/phpunit.php(250): IDE_PHPUnit_Loader::init()

#2 {主} 在第 181 行的 /opt/.phpstorm_helpers/phpunit.php 中抛出

我的 Docker 上的设置是 PHP 5.5.9 和 PHPUnit 4.8.9

我的远程 Docker PHP 解释器在 PhpStorm 中工作,当我在 bash 中运行测试时我的 PHPUnit 工作(使用 docker exec phpunit) - 所以看起来这些部分都在工作,主要是胶水不起作用。

这是我的设置

【问题讨论】:

  • 它与 WebStorm 有什么关系? WebStorm 不支持 PHP。
  • 完全正确,刚刚纠正了我的错字
  • 请仔细检查/usr/local/bin/phpunit.phar 确实存在于容器中。
  • root@6649373c4111:/usr/local/bin# ls 这是我的 ls 输出 composer phpunit phpunit.phar set_tz

标签: php docker phpunit phpstorm


【解决方案1】:

我刚刚在composer 遇到了这个问题,问题是您需要在PHPStorm 中使用autoload.php 文件设置一个PHPUnit 解释器。

  • 打开设置 > 语言和框架 > PHP > 测试框架
  • 点击加号+ 图标添加远程口译员
  • 选择之前定义的 CLI 解释器并使用现有的路径映射
  • 选择Use Composer Autoloader
  • 脚本路径应该是/path/to/vendor/autoload.php
  • 勾选Default configuration file并将其设置为/path/to/phpunit.xml

我还需要在我的docker-compose.yml 中包含以下部分:

services:
  my-api:
    # Other contents omitted
    environment:
      - PHP_IDE_CONFIG=serverName=my-api.company.com

my-api.company.com 是设置 > 语言和框架 > PHP > 服务器中的服务器定义名称

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 2020-02-22
    • 2019-04-12
    • 1970-01-01
    • 2018-07-17
    • 2020-01-04
    • 2015-06-13
    • 2016-01-13
    • 2015-12-30
    相关资源
    最近更新 更多