[案例研討] 烏龜訂購系統開發與實作 by UML and Java-09

九、撰寫控制類別的功能測試程式碼框架

** 至本實作步驟可以先把 EA Model 檔與 Eclipse Java 專案存檔。將整個專案目錄備份至 /Stage-1_1 目錄下,視為第一個開發階段的版本。 **
 o 下載 Java 專案與 Model 檔Stage1_1.rar

在 eclipse 環境下要撰寫測試程式碼是非常簡單的一件事,原因是 eclipse 已內建了 JUnit 測試框架 (JUnit Test Framework),作為一位程式撰寫人員,最起碼要為每一個控制性的功能(服務)類別撰寫功能測試程式碼 (functional test code),可以說是軟體品質的最基本保障,也是應該要具備的責任與良心了

  1. 在 Eclipse 內的 [Project Explorer],選擇 「訂購烏龜_Control.java」,按下滑鼠右鍵,選擇 [New] → [Other…],然後在 Wizard 對話框內,選擇 [Java] → [JUnit] → [JUnit Test Case] ,然後點擊 【Next】,在出現的對話框內,填入以下資訊:
    • 點選 「New JUnit 4 Test」。 (新版本的測試框架可以根據 Java 5.0 以上版本的新特徵特性來建構;更簡單、易於使用,以及更敏捷的初始化與清理等工作)
    • Package: com.order.test (端看開發人員的習慣,這裡是採用將測試程式碼均放置於原始程式碼所在位置的子目錄下)
    • Name:訂購烏龜_Control_Test (測試類別命名的建議為 原類別名稱 + _Test)
    • 勾選 setUp() method (讓測試類別可進行初始化的工作)。

    圖 13、新增 JUnit 測試程式碼的對話框
    (點擊圖片鏈接看原圖)圖 13、新增 JUnit 測試程式碼的對話框

  2. 點擊 【Next】,在出現「選擇測試的 method」對話框時,點選該控制類別所宣告的 method。一般而言,功能測試的重心會在於測試功能性類別所揭露出的企業邏輯 (business logic),這些企業邏輯的演算核心均會被封裝 (encapsulate)在功能性類別所宣告的 method 內。

    圖 14、針對類別選擇要測試的方法
    (點擊圖片鏈接看原圖)圖 14、針對類別選擇要測試的方法

  3. 編輯所產出測試程式碼的內容。
    訂購烏龜_Control_Test.java:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    
    package com.order.control.test;
     
    import static org.junit.Assert.*;
    import org.junit.Before;
    import org.junit.Test;
     
    import java.util.*;
    import com.order.control.*;
    import com.order.dto.*;
     
    public class 訂購烏龜_Control_Test {
    	private 訂購烏龜_Control control;
    	private VO_結帳資訊 mOrder; 
     
    	@Before
    	public void setUp() throws Exception {
    		control = new 訂購烏龜_Control();
    	}
     
    	@Test
    	public void testList烏龜清單() {
    		ArrayList<VO_烏龜資訊> expected= null;
    		ArrayList<VO_烏龜資訊> result = control.list烏龜清單();
     
    		assertNull(result);
    	}
     
    	@Test
    	public void test結帳() {
    		VO_訂購確認資訊 expected = null;
    		mOrder = new VO_結帳資訊();
    		VO_訂購確認資訊 result = control.結帳(mOrder);
     
    		assertNull(result);
    	}
     
    	@Test
    	public void testSaveOrder() {
    		//將 mOrder(結帳資訊) 寫入至 Database.
    		boolean result = control.SaveOrder();
     
    		assertFalse(result);
    	}
    }
    • 目前所撰寫的測試程式碼仍偏向是框架 (skeleton)性質的,不過已先加入欲測試的控制類別,以及為其初始化。目前就是先讓其可以通過 JUnit 的測試即可。
  4. 執行 JUnit 測試。

    在 [Package Explorer] 內,點選待測試的控制測試類別,本例為「訂購烏龜_Control_Test.java」。在 eclipse 的工具列 (toolbar)中,選擇 [RUN] (綠色右箭頭符號圖示) → [Run As] → [JUnit Test],執行後即可顯示測試的結果。 (若所有方法均測試通過,即顯示綠棒;若其中一個方法測試失敗,則顯示紅棒。)

    圖 15、在 Eclipse 內執行 JUnit 測試
    (點擊圖片鏈接看原圖)圖 15、在 Eclipse 內執行 JUnit 測試

文章導覽

   

共有 3 則迴響

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *