yii2 搭建测试环境

yii2 本身集成了Codeception 测试框架,那么我们就在 yii2 中使用 Codeception 来做测试。yii2 文档这块写的比较简陋,权当做是一个补充介绍。

yii2 框架本身支持两种安装方式,直接下载或者通过 compose 安装,那么我们就先采用直接下载这种方式来做。

Codeception

Codeception 是一个全栈的 PHP 测试:

  • Acceptance Tests 验收测试
  • Functional Tests 功能测试
  • API Testing
  • Unit Tests 单元测试

在 yii2 中搭建 Codeception

  1. 下载 yii2-basic
  2. 更改 composer 源,直接在项目根路径执行如下命令即可,详见 Packagist 镜像使用方法
composer config repo.packagist composer https://packagist.phpcomposer.com
  1. 更新当前 yii2 项目中的包依赖,在项目根路径执行如下命令
composer update
  1. 开始测试吧, 当然你可以把condecept加入到你的path里。
cd basic #进入项目根目录
./vendor/bin/codecept build #将构建测试用例(根据cept生成tester)
./vendor/bin/codecept run #运行测试用例

常见问题

  1. 报错如下(ubuntu16.04,php7.0)
[Exception]
Codeception requires CURL extension installed to make tests run          
If you are not sure, how to install CURL, please refer to StackOverflo

Notice: PHP for Apache/Nginx and CLI can have different php.ini files.   
Please make sure that your PHP you run from console has CURL enabled.  

没有curl,测试时候 curl 使用的是 php 的 cli 模式
可以通过查看 php -m,查看有没有curl模块,然后我执行 apt-get install php-curl , 依旧报错
因为这个把 curl 加载到了web 模式下的 php.ini 中,所以直接找到了 cli模式下的 php.ini 文件,
添加 extension=curl.so到相应位置即可

备注

  1. 看其它博客写的都有通过 comooser 安装 Codeception,其实没必要了,因为当前下载下来的包都是安装次依赖了的,如果是下载的话就要更新下包依赖。
  2. 由于 yii2 框架已经整合了 Codeception,所以也不需要运行..\vendor\bin\codecept bootstrap初始化命令

你可能感兴趣的:(yii2 搭建测试环境)