九、撰寫控制類別的功能測試程式碼框架
** 至本實作步驟可以先把 EA Model 檔與 Eclipse Java 專案存檔。將整個專案目錄備份至 /Stage-1_1 目錄下,視為第一個開發階段的版本。 **
o 下載 Java 專案與 Model 檔-Stage1_1.rar
在 eclipse 環境下要撰寫測試程式碼是非常簡單的一件事,原因是 eclipse 已內建了 JUnit 測試框架 (JUnit Test Framework),作為一位程式撰寫人員,最起碼要為每一個控制性的功能(服務)類別撰寫功能測試程式碼 (functional test code),可以說是軟體品質的最基本保障,也是應該要具備的責任與良心了。
- 在 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 (讓測試類別可進行初始化的工作)。
- 點擊 【Next】,在出現「選擇測試的 method」對話框時,點選該控制類別所宣告的 method。一般而言,功能測試的重心會在於測試功能性類別所揭露出的企業邏輯 (business logic),這些企業邏輯的演算核心均會被封裝 (encapsulate)在功能性類別所宣告的 method 內。
- 編輯所產出測試程式碼的內容。
訂購烏龜_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 的測試即可。
- 執行 JUnit 測試。
在 [Package Explorer] 內,點選待測試的控制測試類別,本例為「訂購烏龜_Control_Test.java」。在 eclipse 的工具列 (toolbar)中,選擇 [RUN] (綠色右箭頭符號圖示) → [Run As] → [JUnit Test],執行後即可顯示測試的結果。 (若所有方法均測試通過,即顯示綠棒;若其中一個方法測試失敗,則顯示紅棒。)
抱歉,依然無法下載,能否mail至我的信箱,謝謝
抱歉,似乎檔案無法下載?! (HTTP 404 找不到)
我再試試看。若無法下載我可能上傳到免費的檔案伺服器好了。