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

Running unit tests with Codeception in Yii2 project

尝试在 Yii2 项目的 PhpStorm 中设置远程代码接收单元测试。

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

> vendor/bin/codecept run unit

和测试 运行.

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

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

Test Runner 指向:

/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

进程失败,抱怨找不到PHP单位:

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,我 运行ning PhpStorm 2017.3

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

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

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

现在在 运行 下您将有更多选项:

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