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初始化命令
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,928评论 19 139
  • Welcome 目前网络上充斥着大量的陈旧信息,让PHP新手误入歧途,传播着错误的实践和糟糕的代码,这必须得到纠正...
    layjoy阅读 21,793评论 7 118
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 11,791评论 3 64
  • 这两天把项目部署到线上,还不太懂Linux的操作,所以在Windows下折腾了一番环境。琐碎的配置太多,在这里记录...
    Veekend阅读 5,769评论 0 8
  • 今天和MBA的辣妈童鞋们聊起保护孩子的话题,自从有了孩子,要保护她/他不受到伤害就一直是我大脑中紧绷的一根弦。青讲...
    饼干麻麻阅读 3,772评论 0 3

友情链接更多精彩内容