Laravel 內建有php unit 很方便~^^
一、內建範例
預設在tests資料夾內有Feature資料夾和Unit資料夾,以及很好心的各有內建範例給你參考~
(一) Feature 功能測試
其基本定義為:用來測試檢查多個function、
多個method整合在一起的功能是否正常~
基本上就是用來測試API
(也算是測試Controller裡的某個function~)
#內建範例:去檢查網站是否存在
(二) Unit 單元測試
用來測試單一個function~
可以先將某個service、model、repository實例化之後
去呼叫實例裡面其中一個function
得到function回傳的結果之後
使用assert類的方法
去判斷實際結果和我們預測的是否相同
#內建範例:直接assert true @@
二、如何觸發內建範例?
只要下指令即可測試~
$ php artisan test
如果是比較舊版本也可以下
/vendor/bin/phpunit
#以下測試結果,兩個通過~
三、phpunit.xml 設定檔
指令下完之後~
程式會去抓Feature資料夾和Unit資料夾
底下名字以「Test」為結尾的class
然後再去偵測class裡面所有以test開頭的fuction
去執行裡面的邏輯~
這些在設定檔檔裡都看的到
四、.env.testing 測試環境檔
請看上圖所示
代表在進行測試的時候
laravel會略過原本的.env檔
而去抓.env.testing檔 (根據給value的值)
備註:
如果之後作測試時下指令
想在指令中指定特定 .env檔
則可使用如下所示指令
$ php artisan test --env=testing_new
就會略過原本.env.testin的東西
改去抓.env.testing_new裡的參數