如何在 Yii2 中使用 Codeception 运行 进行单元测试?

How to run unit tests with Codeception in Yii2?

我是 Codeception 框架的新手,正在尝试 运行 此目录中的单元测试脚本:

tests/codeception/frontend/unit

用于测试的数据库配置已在 config-local.php 中完成。

现在,我的问题是如何 运行 测试脚本?我尝试从终端 运行 以下命令:

frontend tests
cd frontend
codecept build
codecept run

但是它说 Codecept:找不到命令。

通过 composer 安装 Codeception:

$ composer require "codeception/codeception"

从现在开始,Codeception(安装了 PHPUnit)可以 运行 为:

$ php vendor/bin/codecept

接下来,初始化您的测试环境:

$ php vendor/bin/codecept bootstrap

最后,运行 来自 yii2 tests/codeception/frontend 文件夹的以下命令:

$ php vendor/bin/codecept build
$ php vendor/bin/codecept run

关注此 Quickstart Guide 以阅读有关 Codeception 安装过程的更多信息。

重要说明:如果您希望 codecept 命令从命令行运行:

codecept bootstrap
codecept run

...那么你需要正确配置$PATH变量。

以下示例需要全局安装codecept。此方法适用于当前用户和 linux 系统。

composer global require "codeception/codeception=2.1.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"

您可以设置新路径 $PATH: in /home/user/.bashrc

export PATH="$PATH:/home/user/.config/composer/vendor/bin"

或在 .bashrc 中设置 别名

alias codecept="/home/user/.config/composer/vendor/bin/codecept"

现在您可以简单地使用

codecept build
codecept run