Docker、PhpStorm 和 PHPUnit - 指定了自动加载器的值,但文件不存在

Jak*_*Lim 9 php phpunit phpstorm docker

我正在尝试将我的 PhpStorm 调试器与 PHPUnit 连接。我正在使用 Docker env,并且 docker PHPUnit 内部工作正常。问题是当我单击“测试”目录 PPM -> 运行测试时

我懂了:

[docker://environment_php_8_fpm:latest/]:php /opt/.phpstorm_helpers/phpunit.php --no-configuration /opt/project/src/tests
Testing started at 16:19 ...
The value of autoloader is specified, but file doesn't exist '/home/kuba/Work/CodeProjects/advertisement-crawler/src/vendor/autoload.php'

Process finished with exit code 1 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我试图在谷歌中找到解决方案,但很难找到有用的东西。

@edit此外,我提供了新路径,在单击刷新新路径后我得到了这个路径是:/opt/project/src/vendor/autoload.php 在此输入图像描述

现在,在 phpstorm 中运行此命令后,我收到了新的错误消息

[docker://environment_php_8_fpm:latest/]:php /opt/.phpstorm_helpers/phpunit.php --configuration /opt/project/src/phpunit.xml
Testing started at 18:48 ...

Fatal error: Uncaught Error: Class "PHPUnit_TextUI_ResultPrinter" not found in /opt/.phpstorm_helpers/phpunit.php on line 231

Error: Class "PHPUnit_TextUI_ResultPrinter" not found in /opt/.phpstorm_helpers/phpunit.php on line 231

Call Stack:
    0.0006     469784   1. {main}() /opt/.phpstorm_helpers/phpunit.php:0
PHP Fatal error:  Uncaught Error: Class "PHPUnit_TextUI_ResultPrinter" not found in /opt/.phpstorm_helpers/phpunit.php:231
Stack trace:
#0 {main}
  thrown in /opt/.phpstorm_helpers/phpunit.php on line 231

Process finished with exit code 255
Run Code Online (Sandbox Code Playgroud)

我再次尝试映射目录,但仍然出现错误 在此输入图像描述

Tom*_*far 0

我的假设是您的自动加载器文件不在/home/kuba/Work/CodeProjects/advertisement-crawler/vendor/autoload.phpPhpStorm/home/kuba/Work/CodeProjects/advertisement-crawler/src/vendor/autoload.php正在寻找它的位置。在您的 docker 文件中,您仅链接了 /src 目录。所以从 docker 中你看不到 /src 之外的文件。

所以我认为你在第一种情况下的映射是正确的,你应该提供/opt/project/vendor/autoload.php.

还要确保您composer install首先运行以实际生成自动加载文件。