FuelPHP 單元測試
fuelphp 單元測試
單元測試是開發(fā)大型項(xiàng)目的必要過程。 單元測試有助于在開發(fā)的每個(gè)階段自動(dòng)測試應(yīng)用程序的組件。當(dāng)應(yīng)用程序的組件沒有根據(jù)項(xiàng)目的業(yè)務(wù)規(guī)范工作時(shí),它會(huì)發(fā)出警報(bào)。單元測試可以手動(dòng)完成,但通常是自動(dòng)化的。
phpunit
fuelphp 框架與 phpunit 測試框架集成。要為 fuelphp 框架編寫單元測試,我們需要設(shè)置 phpunit。如果未安裝 phpunit,則下載并安裝它。我們可以使用以下命令確認(rèn)系統(tǒng)中 phpunit 的可用性。
phpunit--version
如果 phpunit 可用,您將看到類似下面的結(jié)果。
phpunit 5.1.3 by sebastian bergmann and contributors.
創(chuàng)建單元測試
fuelphp 提供的編寫單元測試的標(biāo)準(zhǔn)位置是fuel/app/tests。我們可以在單獨(dú)的文件夾中為控制器、模型、視圖和演示者編寫單元測試。讓我們編寫一個(gè)單元測試來驗(yàn)證 model_employee 對(duì)象。
- 步驟 1-在fuel/app/tests文件夾下創(chuàng)建一個(gè)文件夾,model。
- 步驟 2-在fuel/app/tests/model/文件夾下創(chuàng)建一個(gè)文件employee.php。
- 步驟 3-通過擴(kuò)展 phpunit 提供的 testcase 類創(chuàng)建一個(gè)新的測試類 test_model_employee。
- 步驟 4-使用 phpunit 的 testcase 類提供的 assertinstanceof() 方法編寫一個(gè)方法 testinstanceofemployee() 來資產(chǎn)創(chuàng)建員工對(duì)象。
以下是完整的代碼:
class test_model_employee extends testcase { public function testinstanceofemployee() { $this--->assertinstanceof(model_employee::class, new model_employee()); } }
創(chuàng)建測試組
fuelphp 提供了創(chuàng)建一組測試用例的選項(xiàng)。創(chuàng)建組就像添加 docblock 屬性 @group 一樣簡單。讓我們將我們的測試用例包含在 mytest 組中。
/** * @group mytest */ class test_model_employee extends testcase { public function testinstanceofemployee() { $this--->assertinstanceof(model_employee::class, new model_employee()); } }
運(yùn)行測試
要運(yùn)行目錄中的所有測試,請(qǐng)使用以下命令。
$ php oil test
要運(yùn)行一組特定的測試,請(qǐng)使用以下命令。
$ php oil test--group = mytest
執(zhí)行命令后,您將收到以下響應(yīng)。
tests running...this may take a few moments. phpunit 5.1.3 by sebastian bergmann and contributors. 1 / 1 (100%). time: 123 ms, memory: 8.00mb ok (1 test, 1 assertion)
相關(guān)文章
- CodeIgniter 教程
- CodeIgniter 應(yīng)用程序架構(gòu)
- CodeIgniter 配置
- CodeIgniter 頁面重定向
- CodeIgniter 應(yīng)用程序分析
- CakePHP 查看記錄
- CakePHP 文件上傳
- FuelPHP 教程
- FuelPHP 架構(gòu)概述
- FuelPHP 驗(yàn)證
- FuelPHP 高級(jí)表單編程
- FuelPHP 主題
- Laravel 教程
- Laravel 控制器
- Laravel 請(qǐng)求
- Laravel 響應(yīng)
- Laravel 本地化
- Laravel 文件上傳
- Laravel 加密
- Laravel 歷史版本記錄