php codeception
前言
本测试用例只针对yii2 basic框架而写,若要支持其他框架,请自行查看phpcodeception指导(需要FQ)http://codeception.com/
yii2 basic默认已经安装支持了codeception,因此无需再安装codeception。
初始化
将路径切换到工程根目录下
windows下:
php vendor/codeception/codeception/codecept bootstrap
linux下:
php vendor/bin/codecept bootstrap
一般是在window下编码,为了不重复说命令,统一使用windows下的,对于linux下的,将vendor/codeception/codeception/codecept改成vendor/bin/codecept即可。
实际上在windows中的命令也可以直接在linux中使用
事实上,yii2 basic已经默认做了这一步,因此可以省略这一步。具体的查看是:在工程根目录下是否有codeception.yml文件及tests目录
配置
将下面的两行代码放置在config/web.php中
defined(\'YII_ENV_DEV\') or define(\'YII_ENV_DEV\', \'dev\');
require(__DIR__ . \'/../vendor/yiisoft/yii2/Yii.php\');
修改codeception.yml中的数据库连接配置
在unit.suite.yml中启用yii2模块
单元测试
php vendor/codeception/codeception/codecept generate:test unit business
其中business是为单元测试起的名字,可以根据实际要求改成任意内容。
这个命令会在tests目录下自动生成businessTest.php测试脚本,之后在这个脚本中编写测试代码即可
codeception的单元测试完全兼容phpunit编写的测试案例
运行测试
运行整个测试
php vendor/codeception/codeception/codecept run
运行所有的单元测试
php vendor/codeception/codeception/codecept run unit
运行某个单元测试
php vendor/codeception/codeception/codecept run unit businessTest.php
或者
php vendor/codeception/codeception/codecept run tests/unit/businessTest.php
运行某个单元测试里的某个测试用例
php vendor/codeception/codeception/codecept run tests/unit/businessTest.php:testMe