iT邦幫忙

鐵人檔案

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

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

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

參賽天數 11 天 | 共 12 篇文章 | 14 人訂閱 訂閱系列文 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 修改為 items並...

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\C...

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 // sr...

2018-10-23 ‧ 由 recca0120 分享