PHPUnit via Composer 和 PhpStorm

2022-08-30 16:48:26

我现在试图花几个小时来设置PhpStorm进行单元测试。无论我做什么,我都会得到这个

Process finished with exit code 1
Cannot find PHPUnit in include path ...

PHPUnit(通过命令行)可以从任何地方访问;我已经设置了正确的包含路径,并将PHPUnit添加到外部库中。没有机会。

这完全有可能,还是只适用于通过PEAR安装?我已经解决了这里的所有相关问题,我在Mac上,PHPUnit通过CLI运行平稳。


答案 1

@aderuwe的答案有效,但该配置的范围不是按项目限定的,而是适用于所有项目。从PHPStorm 6(实际上甚至是EAP版本)开始,您可以执行以下操作:PS-126.260

  1. 转到 -> -> -> 。FileSettingsPHPPHPUNIT
  2. 选择并输入项目供应商目录中的文件。此自动加载程序将自动加载由 Composer 管理的所有依赖项(包括 PHPUnit)。Use custom loaderautoload.php
  3. 指定默认配置文件(通常来自项目的目录)。phpunit.xml.distapp

<code>PHP</code> -> <code>PHPUNIT</code>

这需要每个项目重复,但以下需要完成一次

您需要在PHPStorm中正确配置默认值。

  1. 转至 -> 或单击工具栏上的下拉菜单并选择 。RunEdit Configurations...Edit Configurations...
  2. 转到(G)Defaults -> PHPUnit
  3. 在 下,选择Test ScopeDefined in configuration file
  4. 确保文本字段为空Interpreter options
  5. 转到(上面)并删除它下面的任何条目(以便下次对特定文件进行测试等时,它将设置一个新条目,但使用新的默认值)。PHPUnitDefaults

<code>Edit Configurations...</code>


答案 2

Patrick Visma在 http://youtrack.jetbrains.com/issue/WI-13429 上发布了解决方案:

在 PHPStorm 中编辑 phpunit.xml 的配置,并设置解释器选项,如下所示:

-d auto_prepend_file=/path/to/vendor/autoload.php

推荐