第十五屆 佳作

mobile-dev
30 天輕鬆學會 Flutter 測試
保羅

系列文章

DAY 1

Day 1 你準備好一起來寫測試了嗎?

隨著 Scrum 越來越流行,我們需要越來越多的跨功能團隊,這些跨功能團隊可以端到端的完成需求,除了寫程式之外,也會需要自己測試功能,甚至有時也會需要處理產品維...

DAY 2

Day 2 動手寫一個單元測試

單元測試是什麼呢?顧名思義,就是針對單元的測試。那什麼又是單元呢?若我們看維基百科的單元測試定義,可以發現在物件導向程式中,單元通常就是指類別裡面的方法。 一...

DAY 3

Day 3 單元測試不總是那麼容易

昨天介紹了 Dart 單元測試,如何針對一個簡單的類別進行測試。但是在實務上,沒有任何依賴的類別可能並不多,大部分的類別都是會需要與其他類別協作,這些其他類別有...

DAY 4

Day 4 測試替身與依賴注入

在昨天文章中,我們直接測試了 UserRepository 的 get 方法,在測試中直接呼叫遠端伺服器取得 User,但是為了測試的可重複性,我們還是必須修改...

DAY 5

Day 5 這段程式碼測不了

在昨天的文章中,我們分享了如何透過依賴注入的方式把假的依賴傳入待測物件中,但是如果轉案的程式碼本身沒有這樣的設計,就會很難注入假的依賴,如果我們想改,又可能會牽...

DAY 6

Day 6 不改變狀態也不回傳,那我怎麼測試?

這幾天的文章中,我們談論如何處理那些頑劣的依賴,透過 Stub 的方式,注入我們設計過的資料到測試之中,最後驗證回傳值或者物件狀態來決定測試成功與失敗。再討論...

DAY 7

Day 7 程式開發不只有正常路徑

大多時候,我們在實現功能需求時,都是先完成正常流程,也就是順利執行原本預期要執行的操作的情境。在正常流程之外,還有一部份重要的任務需要關注,那就是錯誤處理。錯誤...

DAY 8

Day 8 假的,都是假的,但不是業障重

我們介紹了許多單元測試技巧,可以幫助我們處理難測試的類別、做假資料或隔離外部依賴,這些手段可以處理絕大多數的狀況。如果我們設計物件的時候,都依照 CQS 的概念...

DAY 9

Day 9 如何在 Dart 中輕鬆測試時間

無論什麼樣的產品,或多或少都會需要時間,可能用來提示使用者,也可能用來計算優惠,說到這裡,聰明的觀眾朋友也就不難猜到今天想討論的一種情境:時間。當我們的測試與時...

DAY 10

Day 10 測試每執行五秒,開發者就少了五秒

在開發的時候,有時候會需要 Scheduler 執行一些定期任務,例如:撈資料到本地端存放、檢查並繼續未完成任務 …等。今天主要討論如何測試 Schedler,...