PhpStorm运行PestPHP测试抛出ShouldNotHappen错误问题咨询
问题解决方案
报错的核心原因是**PhpStorm执行命令时不会自动解析shell的波浪号()占位符**,终端运行正常是因为shell会自动将展开为当前用户的主目录绝对路径,PhpStorm直接将~作为路径字符串传递给Pest就会导致文件找不到的异常,可按以下步骤修复:
- 替换所有配置中带~的路径为绝对路径:打开PhpStorm设置 > PHP > Test Frameworks,找到对应的Pest配置项,将「Pest executable」、「Default configuration file」字段里的~替换为实际的用户主目录绝对路径,比如
~/project/vendor/pestphp/pest/bin/pest替换为/Users/你的用户名/project/vendor/pestphp/pest/bin/pest - 修正测试运行配置的工作目录:点击PhpStorm右上角运行配置下拉框选择「Edit Configurations」,找到对应的Pest运行配置,将「Working directory」设置为项目根目录的绝对路径,不要携带~占位符
- (可选优化)如果是单项目使用,可直接将Pest可执行文件路径设置为相对路径
./vendor/bin/pest,配合正确的工作目录即可正常识别,不需要写死绝对路径
修改完成后重启PhpStorm再运行测试即可。
内容的提问来源于stack exchange,提问作者atorscho
相关产品推荐
相关产品推荐

