我們的 PTTCrawler 目前是注入自己撰寫的 HttpClient class,但 PHP 早就有寫好的 Guzzle 啊,所以我們就可以透過重構的方式來...
在上一篇我們把程式改為『依賴注入』的方式,最終的測試案例的程式碼為 <?php // tests/PttCrawlerTest namespace R...
在上一篇我們是使用 Extract Method 的方式來寫爬蟲,這一篇我們來改用『依賴注入』的方式來重構程式碼那 Extract Method 和 依賴注入...
今天我們就來試試在 PHPUnit 裡寫爬蟲,我們就來爬PTT的首頁吧 建立測試案例 我們可以很快速的建立第一個測試案例,寫完測試案例後立刻執行一次測試得到紅...
什麼是重構 重構就是『在不改變外部行為的狀況下,改變程式結構或擴充程式功能』,所以我們在調整程式結構的時候就會希望滿足以下條件 確認修改後的程式執行結果不變...
什麼是重構 重構就是『在不改變外部行為的狀況下,改變程式結構或擴充程式功能』,所以我們在調整程式結構的時候就會希望滿足以下條件 確認修改後的程式執行結果不變...
花了二篇的篇幅來介紹怎麼讓 VSCode 來幫助自己寫測試,那怎麼可以不介紹大名鼎鼎的 PHPStorm 呢? PHPStorm 是個訂閱制的付費軟體當然功能上...
在上一篇中我們已經知道 PHPUnit 怎麼用了,但要產生測試 code 而且還得從編輯器切換到 cli 之後再執行vendor/bin/phpunit,這樣實...
前言 上一篇我們是在沒有 PHPUnit 的幫助之下進行程式開發,今天我們就改用 PHPUnit 來開發看會是什麼樣的情況吧 安裝 PHPUnit PHPUni...
如何測試 其實測試很簡單,如Day01提到的在『編輯器裡寫完code後再到瀏覽器按F5』,所以我們可以寫出我們的第一個測試 找個資料夾打開檔案為 index.p...
測試好麻煩啊! 談論到測試,就會想到『好麻煩啊!程式都寫完了,為什麼還要浪費時間去寫測試去驗證程式啊?』用這個角度來看待測試自然就沒有撰寫測試的動力了,所以讓我...
Medium 清新閱讀版:連結 這是本系列的最後一篇介紹文,今天讓我們探討「缺乏 Migration Files 與 Factory Files」的 Legac...
Medium 清新閱讀版:連結 在前一天的文章中,我們探討了多重資料庫連線情境下,Model 及 Database Assertion 的應對方式,不過實際上筆...
Medium 清新閱讀版:連結 在實務情境上,常會有在單一專案程式庫中,存取多個不同資料庫的使用情境,在這種情況下,我們通常會設置多個資料庫連線(Databas...
Medium 清新閱讀版:連結 今天就讓我們依照前一天的情境題,來撰寫測試案例函數吧! 這次同樣地,先讓我們規畫擬訂測試案例: 測試案例 使用者註冊: 使用...
Medium 清新閱讀版:連結 前兩天,我們探討了「網站文章」的情境題;今明兩天,就讓我們探討另一個情境題「會員註冊」吧! 這邊我們同樣假設網站是採前後端分離的...
Medium 清新閱讀版:連結 今天就讓我們依照前一天的情境題,來撰寫測試案例函數吧! 先讓我們規畫擬訂測試案例: 測試案例 當使用者瀏覽文章清單頁時: 使...
Medium 清新閱讀版:連結 今天已經是第鐵人賽第24天了! 在前面的23天,與大家分享了許多撰寫 PHPUnit 測試程式碼所需的知識,之後的文章就讓我們來...
Medium 清新閱讀版:連結 今天我們來聊聊覆蓋率報告吧! 何為覆蓋率報告 & 為何需要覆蓋率報告 所謂的覆蓋率報告,指的是能指出我們的專案程式庫,有...
Medium 清新閱讀版:連結 今天讓我們來看 phpunit.xml 吧! phpunit.xml 位在 Laravel 專案根目錄底下,顧名思義,它是一個設...
Medium 清新閱讀版:連結 今天要來為大家介紹 Storage Mocking 及 HTTP Mocking! Storage Mocking 函數 S...
Medium 清新閱讀版:連結 今天來看 Queue Mocking 吧! Queue Mocking 函數 Queue::fake():當我們希望在執行測...
Medium 清新閱讀版:連結 今天來看 Mail Mocking 吧! Mail Mocking 函數 Mail::fake():當我們希望在執行測試目標...
Medium 清新閱讀版:連結 今天我們會接續環繞著 「Mocking」 這個主題。 在 Laravel 中,有幾個類別的 Mocking 方式,與前兩天所介紹...
Medium 清新閱讀版:連結 今天讓我們回顧一下前一天的 Mocking 初體驗吧! (原本今天想與大家分享其他 Mocking 技術,但發現前一天的文章似乎...
Medium 清新閱讀版:連結 今天我們來聊聊「Mocking」吧!(話說30天已經過了一半了!) 何為 Mocking & 為何 Mocking 所謂...
Medium 清新閱讀版:連結 今天讓我們來看看播種器吧! 什麼是播種器 播種器 (Seeder) 是 Laravel 提供的一個批次建立測試資料的功能,可以讓...
Medium 清新閱讀版:連結 今天要來為大家介紹幾個,在撰寫測試程式碼時可以利用的特殊函數。 setUp() & tearDown() setUp...
Medium 清新閱讀版:連結 今天讓我們看看幾個重要的 PHPUnit @ Annotation 吧! 所謂的 PHPUnit @ Annotation,是指...