iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

開心撰寫 PHPUnit 系列

讓我們用開發的角度來撰寫 PHPUnit

鐵人鍊成 | 共 30 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11. 使用 Guzzle 重構爬蟲 - 抽出 Interface

我們的 PTTCrawler 目前是注入自己撰寫的 HttpClient class,但 PHP 早就有寫好的 Guzzle 啊,所以我們就可以透過重構的方式來...

2023-09-26 ‧ 由 recca0120 分享
DAY 12

Day 12. 重構爬蟲 - 移除不必要的 Interface

在上一篇我們是新增一個 HttpClient 的 interface 後,再實作一個 GuzzleHttpClient,但實際去看 Guzzle 的 Clie...

2023-09-27 ‧ 由 recca0120 分享
DAY 13

Day13. 重構爬蟲測試 - Mockery spy

在上一篇我們的測試程式如下 <?php namespace Recca0120\Ithome30\Tests; use Mockery; use G...

2023-09-28 ‧ 由 recca0120 分享
DAY 14

Day14. 重構爬蟲測試 - 爬蟲的利器 PHPVCR

在之前介紹爬蟲的測試程式,我們是自己將 HTML 另存檔案,再利用 Mockery 來回傳 HTML,因為我們這次的範例只抓了一頁,所以另存新檔我們只需操作一...

2023-09-29 ‧ 由 recca0120 分享
DAY 15

Day 15. 暫停一下 - 為什麼不一開始就使用 PHPVCR

這 14 天以來的文章我們可以練習到 使用 cli 執行 PHPUnit VSCode 使用 PHPUnit Test Explorer 執行 PHPUnit...

2023-09-30 ‧ 由 recca0120 分享
DAY 16

Day 16. 爬蟲 - 用 TDD 的方式來思考

現在我們已經具備一些 PHPUnit 的使用方式之後,我們接下來就可以用 TDD 的方式來進行程式撰寫。所以我們現在來定義我們希望這個爬蟲要完成哪些功能。 任務...

2023-10-01 ‧ 由 recca0120 分享
DAY 17

Day 17. code review 程式

在上一篇我們把任務拆成 抓取熱門看版 抓取熱門看版文章 以目前的程式,我們似乎完成了『抓取熱門看版』的程式,在進行下一個步驟前,我們先來 code revi...

2023-10-02 ‧ 由 recca0120 分享
DAY 18

Day 18. 重構程式碼 - 讓程式更容易擴充

在上篇我們提到希望最終的程式碼是呈現這樣 $crawler = new PttCrawler(); // 抓取所有看版及文章 $crawler->all(...

2023-10-03 ‧ 由 recca0120 分享
DAY 19

Day19. 擴充爬蟲測試 - 思考抓取列表方案

在上一篇我們已將程式重構為 <?php // src/PttCrawler.php namespace Recca0120\Ithome30; use...

2023-10-04 ‧ 由 recca0120 分享
DAY 20

Day 20. 只是增加看版文章列表測試就變的超難寫 - 分段進行

在上一篇最終定義出最終結果希望為 <?php namespace Recca0120\Ithome30\Tests; use Mockery; us...

2023-10-05 ‧ 由 recca0120 分享