Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unit Test Introduction

Unit Test Introduction

Introduce briefly how to do a unit test and write a testable code

Elvis Lin

July 06, 2017
Tweet

More Decks by Elvis Lin

Other Decks in Programming

Transcript

  1. 關於測試 • 測試個概念念與定義 • 測試的分類 • End-to-End Test • Integration

    Test • Unit Test • 測試循環:使⽤用 BDD 結合 TDD • 單元測試的實作 • 驗收測試的實作
  2. 什什麼是單元測試 • 情侶間的單元測試: • 傳 Line 訊息,測 input 跟 output

    • 情侶間的整合測試 • ⼀一起出去玩 — 來來源<Twitter>
  3. 3A — 範例例說明 @Test
 public void testPop() {
 // Arrange


    // 準備⼀一個 Stack,在裡⾯面放入幾筆資料
 Stack<String> stack = new Stack<>();
 stack.push("teddy");
 stack.push("kay");
 stack.push("eiffel"); // Action
 // 再放入⼀一筆資料
 stack.push(“ada");
 
 // Assert
 // 取出最後⼀一筆資料,確認是否等於剛剛放入的資料
 assertEquals("ada", stack.pop());
 }
  4. 修改後的程式流程 • ContributorManager — 使⽤用 retrofit 取得 contributor 的資訊 •

    ContributorPresenter — 在螢幕上顯⽰示 contributor 的資 訊 • ContributorApp — 使⽤用 ContributorManager 跟 ContributorPresenter 取得並顯⽰示 contributor 的資訊
  5. 如何對 ContributorApp 測試 • 建立 MockContributorManager 實作 ContributorManager • 建立

    MockContributorPresenter 實作 ContributorPresenter • 當建立 ContributorApp 時,使⽤用剛剛建立的 test double • 執⾏行行 ContributorApp.execute(),檢查執⾏行行的結果