iT邦幫忙

鐵人檔案

2019 iT 邦幫忙鐵人賽
回列表
自我挑戰組

單元測試開發購物車功能 系列

想不到什麼好題目
所以就用單元測試來開發購物車
並一路整合回 Laravel 囉

參賽天數 11 天 | 共 12 篇文章 | 12 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 01: 安裝 PHPUnit

要用單元測試來開發,第一件事情當然是安裝 PHPUnit 囉 在此我們利用 Composer 來進行安裝 composer require phpunit --...

2018-10-14 ‧ 由 recca0120 分享
DAY 2

Day 02: 撰寫購物車程式

接下來我們就來開始寫程式吧,不過在寫程式之前要先有需求,所以就來定義一下我們購物車的需求吧 可將商品加入購物車 商品必須有名稱、單價、數量 可以計算總價 就...

2018-10-15 ‧ 由 recca0120 分享
DAY 3

Day 03: 第一次重構

撰寫到這邊就可以進行重構了, 今天一看程式碼發現 Cart 取得所有商品內容稱為 all 覺得不是很合理, 所以想把 method 從 all 修改為 item...

2018-10-16 ‧ 由 recca0120 分享
DAY 4

Day04: 將商品重構為物件

先上程式碼 namespace Recca0120\Cart\Tests; use Recca0120\Cart\Item; use PHPUnit\Fram...

2018-10-17 ‧ 由 recca0120 分享
DAY 5

Day05: 將商品重構到購物車

由於商品的物件都寫好了! 所以我們就來重構物車吧 今天也是直接上程式碼 ... tests/CartTest.php namespace Recca0120\...

2018-10-18 ‧ 由 recca0120 分享
DAY 6

Day06: 持續優化商品物件

Item implements ArrayAccess 這個 interface 後 Item 物件就像是在操作 Array 但事實上只完成了一半的工作, 所以...

2018-10-19 ‧ 由 recca0120 分享
DAY 7

Day07: 持續優化商品物件2

繼昨天的優化 今天就來為 Item 增加總計的功能 // tests/ItemTest.php namespace Recca0120\Cart\Tests;...

2018-10-20 ‧ 由 recca0120 分享
DAY 8

Day08: 替購物車增加功能

今天就先替 Cart 加入 remove 的功能吧 // tests/CartTest.php <?php namespace Recca0120\C...

2018-10-21 ‧ 由 recca0120 分享
DAY 9

Day09: 增加存檔機制

寫到現在其實都還沒考量到瀏灠器重新整理的狀況 所以今天就來寫寫儲存機制吧 由於 Cart 目前是用 $items 的 property 來儲存狀態 所以第一件事...

2018-10-22 ‧ 由 recca0120 分享
DAY 10

Day10: 新增 Session 儲存

昨天已經完成了 ArrayStore 今天就將 ArrayStore 改造成 SessionStore 所以要做的第一件事請就是建立 Interface //...

2018-10-23 ‧ 由 recca0120 分享