假设根目录为“yii-app”
一、使用命令生成测试代码文件或环境
vendor/bin/codecept generate:test unit custom/Custom
命令执行后,可看到“yii-app/tests/unit”下多了个custom文件夹,文件夹中多了个文件“CustomTest.php”
注:这里的“unit”与“yii-app/tests/unit.suite.yml”中“class_name”相关
二、然后执行命令,进行测试
vendor\bin\codecept run unit custom/CustomTest.php //测试单个文件
vendor\bin\codecept run unit //测试整个unit
vendor\bin\codecept run unit custom //测试unit下custom目录中的所有文件
所遇问题
1、根目录下自定义目录文件中方法测试(“common”目录为自己创建)
测试“/yii-app/common/Tools.php”文件中的方法函数getRandomStr
报错:
找不到文件或方法
原因:
自定义目录,代码无法定位到,也就是说当我们使用“use”引入Tools(代码:use common\Tools;),但是程序无法知道“common”在哪
解决:
在“yii-app/tests”目录下的“_bootstrap.php”中新增“common”别名设置,如下
\Yii::setAlias('@common', __DIR__.'/../common'); //第二个参数为common的绝对路径
2、测试代码中使用了redis,执行测试后报错
报错:
[yii\base\UnknownPropertyException] Getting unknown property: yii\web\Application::redis
原因:
未在测试配置文件中配置相应的redis内容
注:测试所用配置的文件“yii-app/config/test.php”、“yii-app/config/test_db.php”等
解决:
在“yii-app/config/test.php”添加对redis的配置