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

时间:2018-03-23 17:29:11

标签: yii2 phpstorm codeception

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

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

> vendor/bin/codecept run unit

并且测试运行。

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

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

测试跑步者指向:

/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 --no-configuration /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_helpers吗?看来文档已经过时了,JetBrains提供的截图来自不同版本的PhpStorm,我正在运行PhpStorm 2017.3

1 个答案:

答案 0 :(得分:1)

因此经过大量挖掘后,问题出在Run/Debug Configuration上。尽管将Codeception添加到Test Frameworks部分,但单击运行按钮仍尝试执行纯PHPUnit测试。

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

在那里,您将能够定义各种选项:

Configuration Dialog

现在,您还可以选择其他选项:

Run Menu

选择蓝色Codeception图标以使用Codeception而不是PHPUnit

运行测试