yii2 本身集成了Codeception
測試框架态坦,那么我們就在 yii2 中使用 Codeception 來做測試。yii2 文檔這塊寫的比較簡陋玫氢,權(quán)當做是一個補充介紹谜诫。
yii2 框架本身支持兩種安裝方式,直接下載或者通過 compose 安裝生逸,那么我們就先采用直接下載這種方式來做。
Codeception
Codeception 是一個全棧的 PHP 測試:
- Acceptance Tests 驗收測試
- Functional Tests 功能測試
- API Testing
- Unit Tests 單元測試
在 yii2 中搭建 Codeception
- 下載
yii2-basic
- 更改 composer 源伟阔,直接在項目根路徑執(zhí)行如下命令即可掰伸,詳見
Packagist 鏡像使用方法
composer config repo.packagist composer https://packagist.phpcomposer.com
- 更新當前 yii2 項目中的包依賴怀估,在項目根路徑執(zhí)行如下命令
composer update
- 開始測試吧, 當然你可以把condecept加入到你的path里。
cd basic #進入項目根目錄
./vendor/bin/codecept build #將構(gòu)建測試用例(根據(jù)cept生成tester)
./vendor/bin/codecept run #運行測試用例
常見問題
- 報錯如下(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模塊,然后我執(zhí)行apt-get install php-curl
, 依舊報錯
因為這個把 curl 加載到了web 模式下的 php.ini 中催跪,所以直接找到了 cli模式下的 php.ini 文件夷野,
添加extension=curl.so
到相應(yīng)位置即可
備注
- 看其它博客寫的都有通過 comooser 安裝 Codeception,其實沒必要了骑丸,因為當前下載下來的包都是安裝次依賴了的妒貌,如果是下載的話就要更新下包依賴。
- 由于 yii2 框架已經(jīng)整合了 Codeception菊碟,所以也不需要運行
..\vendor\bin\codecept bootstrap
初始化命令