Skip to content
This repository has been archived by the owner on Mar 16, 2023. It is now read-only.

Latest commit

 

History

History
51 lines (44 loc) · 1.17 KB

gold-history.md

File metadata and controls

51 lines (44 loc) · 1.17 KB
  • 新增 autoload-dev psr-4

修改 composer.json

{
    "require-dev": {
        "phpunit/phpunit": "^6.3"
    },
    "autoload": {
        "psr-4": {
            "Acme\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Acme\\Tests\\": "tests/"
        }
    }
}

執行

composer dump-autoload
  • 準備好測試案例,並使測試亮第一個紅燈
  • 完成第一個測試
  • 現在我們不希望一直抓取網頁,所以我們開始第一次重構
  • 將抓取網頁的程式重構到 Client.php
  • 補上 Client.php 的測試
  • 安裝 mockery 方便我們撰寫 test double
composer require mockery/mockery --dev
  • 使用 stub 來實作 test double
  • 發現程式不好寫,先實作 Parser Class,用來分析網頁分容
    • 先準備好測試案例,並亮第一個紅燈
    • 完成 parseTbody 並準備第二個測試
    • 完成 parseRows 並準備第三個測試
    • 完成 parseCols
  • 將 Parser 注入到 GoldHistory,並調整測試案例
  • 完成程式碼
  • 重構GoldHistory,讓可閱讀性提高
  • 炫技的重構
  • 新增 index.php 看看結果是否正確
  • 注入太麻煩,那就給用預設值