發布日期:Jul 22, 2021

文章於 Jul 22, 2021 更新

20210722

事件紀錄

(一)
SQL 下 DISTINCT 效率很差(資料待補),盡可能避免!
因為 DISTINCT 的行為是會逐筆看資料,將之分類成有取過與沒取過,
分類後得到的結果並不會包含原資料表的索引,就無法利用到索引帶來的效率。
相同的狀況也會出現在使用 subquery 的情境,哎租椅!

(二)
關於 phpunit

  1. function 紀錄
    a. 檢查 array 格式的資料是否有指定的 key
    assertArrayHasKey()
    b. 檢查 項目內容是否相等
    assertEquals()
    其他可用 function 詳見套件說明
    別人的使用經驗:Laravel – Unit Test 單元測試教學

  2. 執行方式
    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

總結

1. 工作技能有沒有因此成長了?

長知識~
善用單元測試可以想像會省掉很多驗算麻煩數字的時間,但前提是要注意使用的測試資料不能被亂改 XD

2. 計畫如何改善現況或者可以試著做得更好?

想要更熟練寫出細緻又靈活的單元測試,避免開發到傻了,連資料錯都沒發現!畢竟結果正確是基本中的基本!

3. 如何在這件事上提升效率?

好問題,先熟練再說?

4. 有沒有把時間花在刀口上?

撿一些確實能讓自己成長的技能和知識,很好很好~

關鍵字

  • SQL : DISTINCT
  • PHPUnit