發布日期:Jul 22, 2021
文章於 Jul 22, 2021 更新
(一)
SQL 下 DISTINCT 效率很差(資料待補),盡可能避免!
因為 DISTINCT 的行為是會逐筆看資料,將之分類成有取過與沒取過,
分類後得到的結果並不會包含原資料表的索引,就無法利用到索引帶來的效率。
相同的狀況也會出現在使用 subquery 的情境,哎租椅!
(二)
關於 phpunit
function 紀錄
a. 檢查 array 格式的資料是否有指定的 key
assertArrayHasKey()
b. 檢查 項目內容是否相等
assertEquals()
其他可用 function 詳見套件說明
別人的使用經驗:Laravel – Unit Test 單元測試教學
執行方式
a. 跑 class 裡全部的 method
[path of phpunit] [path of test file]
./vendor/bin/phpunit ./tests/Api/v1/yourTest.php
b. 跑 class 裡指定的 method
[path of phpunit] --filter [method name] [path of test file]
./vendor/bin/phpunit --filter yourMethod ./tests/Api/v1/Claim/yourTest.php
參考: how to test specific test class using phpunit in laravel
長知識~
善用單元測試可以想像會省掉很多驗算麻煩數字的時間,但前提是要注意使用的測試資料不能被亂改 XD
想要更熟練寫出細緻又靈活的單元測試,避免開發到傻了,連資料錯都沒發現!畢竟結果正確是基本中的基本!
好問題,先熟練再說?
撿一些確實能讓自己成長的技能和知識,很好很好~