在Yii2项目中使用Codeception运行单元测试

在Yii2项目中使用Codeception运行单元测试,yii2,phpstorm,codeception,Yii2,Phpstorm,Codeception,正在尝试在Yii2项目中的PhpStorm中设置远程Codeception单元测试 使用SSH,我可以登录到服务器,转到我的Yii2项目的根目录并运行: >供应商/bin/codecept运行单元 然后测试运行 我正在尝试通过PhpStorm运行这些远程测试,我已经设置了一个远程PHP CLI解释器,并指向Yii2项目文件夹中的Codeception库: /var/www/vhosts/mydomain.com/httpdocs/yii2/vendor/bin/codeept 测试运行程序指向:

正在尝试在Yii2项目中的PhpStorm中设置远程Codeception单元测试

使用SSH,我可以登录到服务器,转到我的Yii2项目的根目录并运行:

>供应商/bin/codecept运行单元

然后测试运行

我正在尝试通过PhpStorm运行这些远程测试,我已经设置了一个远程PHP CLI解释器,并指向Yii2项目文件夹中的Codeception库:

/var/www/vhosts/mydomain.com/httpdocs/yii2/vendor/bin/codeept

测试运行程序指向:

/var/www/vhosts/mydomain.com/httpdocs/yii2/codeception.yml

尝试运行测试时,将执行以下命令:

>ssh://user@mydomain.com:22/opt/plesk/php/5.6/bin/php/root/.phpstorm_helpers/phpunit.php——无配置/var/www/vhosts/mydomain.com/httpdocs/yii2/tests

该过程失败,因为它抱怨找不到PHPUnit:

Process finished with exit code 1
Cannot find PHPUnit in include path (.:/opt/plesk/php/5.6/share/pear)

如何让PhpStorm在
yii2/vendor
文件夹中查找PHPUnit?我可以告诉PhpStorm运行另一个命令而不是这个
PhpStorm\u helpers
?似乎文档已经过时,JetBrains提供的屏幕截图来自不同版本的PhpStorm,我正在运行PhpStorm 2017.3

,因此经过大量挖掘,问题在于
运行/调试配置。尽管在
测试框架
部分添加了Codeception,但单击run按钮仍然试图执行纯PHPUnit测试

要切换为以Codeception身份运行测试,请查看文件选项卡上方的顶部工具栏:

在这里,您可以定义各种选项:

现在,在“运行”下,您将有其他选项:


选择蓝色Codeception图标以使用Codeception而不是PHPUnit运行测试

是否安装了php单元,不要使用pear软件包?它们已被弃用HPUnit是作为Yii2 Codeception的一部分安装的,我不知道PHPStorm为什么要找pear软件包。同样,通过SSH运行测试时也不是问题。PHPUnit位于
/var/www/vhosts/mydomain.com/httpdocs/yii2/vendor/bin/PHPUnit
hmm中,请尝试此项,转到PhpStorm设置中的语言和框架。如果您单击PHP,在右边有您的include路径,您应该在那里提供PHPUnit的路径,即
vendor/PHPUnit/PHPUnit
。尝试一下,告诉你它是否适合你应该是
vendor/bin/phpunit
我刚看到你指定的路径。包含路径似乎是本地路径??