引言
如果您是 Service Component Architecture (SCA) 模塊的創建者,則您的主要職責是提供從 SCA 模塊導出的服務接口的可靠實現。模塊接口的自動化測試使得 SCA 組件開發人員能夠使用可重復而又有效的方法來驗證提交組件的質量。
示例方案
我們將測試一個非常簡單的組件,該組件驗證英國的郵政編碼,并返回與該郵政編碼對應的地址的詳細信息。為了方便起見,可下載 zip 文件中包括了適用于此示例的文件。
此郵政編碼組件在 L_MailService 庫中定義了其接口,并在可下載文件中的 MP_MailService 模塊中提供此組件。下面的圖 1 到 3 顯示了 IBM WebSphere Integration Developer 組裝圖、組件接口和我們要測試的服務操作所返回的 PostCodeDetails 數據對象的定義。
圖 1. 組裝圖:組件和導出
圖 2. getDetailsForPostCode 操作
圖 3. PostCodeDetails 業務對象
如果為實際使用開發此類組件,則我們可能需要編寫大量的不同測試,并提供輸入數據的多種組合。不過,對于本文而言,我們僅編寫兩個測試:
調用具有有效郵政編碼的服務的測試,并檢查是否返回了一組已知數據。
提供無效郵政編碼的測試,并檢查是否發生錯誤。
測試準備
在我們實際開始編寫測試之前,必須先做一些準備工作。概括地講,這些工作為:
安裝 JDK 更新
導入測試實用工具
創建測試模塊
設置模塊依賴關系
將 Cactus 框架添加到測試項目
組裝模塊
A. 安裝 JDK 更新
使用 Cactus 框架會暴露隨 WebSphere Integration Developer V6.0.1 提供的用于 Windows® 平臺的 JDK 版本中的缺陷,該缺陷在 J2RE 1.4.2 IBM Windows 32 build cn142-20050929 (SR3) 和更高版本的 J2RE 中得到了修復。您可以使用適當的 IBM SDK 安裝程序將修補程序應用到 WebSphere Process Server 測試環境,也可以將您的測試環境更新為 WebSphere Process Server V6.0.1.2,該版本包括 J2RE 1.4.2 IBM Windows 32 build cn142ifx-20060209 (SR4-1), 您需要使用適當的方法將其應用到您的 WPS 測試環境中。
B. 導入測試實用工具
本文提供了一些與 Service Data Objects (SDO) 一起使用的實用工具。必須將這些實用工具導入到 WebSphere Integration Developer 工作區。下載 zip 文件中包括的項目交換文件(Project Interchange File,PIF)包含以下三個庫(還有其他庫):
J_ScaUtiltiies
LT_ScaJUnitTest
LT_ScaTest。
如果您計劃按本文提供的內容操作,那么還需要導入我們要測試的模塊 MP_MailService 及其接口庫 L_MailService。您會看到,它僅包含接口的一個很普通的實現,但這已足夠執行我們的測試。
要使用 WebSphere Integration Developer 將這些模塊導入到工作區,請選擇 File => Import。
在 Import 對話框中,選擇 Project Interchange,然后選擇 Next。
瀏覽至下載 zip 文件。選擇要導入的模塊,并單擊 Finish。
在 Business Integration 透視圖的 Business Integration 視圖中,您應看到類似于圖 4 中的內容。
圖 4. 帶有 PostCode 的 MailService 實現
C. 創建測試模塊
我們將在模塊中創建測試,然后將其部署到服務器。我們必須創建此測試模塊。
在 Business Integration 透視圖中,轉到 Business Integration 視圖。請單擊右鍵,然后選擇 New => Module。在 New Module 對話框中,輸入一個名稱(如 MT_TestMailService),然后單擊 Finish。
我們將在 MT_TestMailService 模塊中的動態 Web 應用程序中創建測試。不過應記住,與 SCA 模塊關聯的標準 J2EE 項目由工具生成,并且是一個有效的臨時構件。因此,我們將新建一個承載測試的動態 Web 應用程序。
切換到 Web 透視圖。在 Project Explorer 視圖中,展開 Enterprise Applications。右鍵單擊 MT_TestMailService,然后選擇 New Dynamic Web Project。
在 New Dynamic Web Project 對話框中,輸入名稱(如 MT_TestMailServiceJUnitWeb),然后單擊 Finish。
D. 設置模塊依賴關系
我們需要確保記錄了此新的 Web 項目和測試模塊之間的關聯,并確保創建了正確的庫依賴關系。
切換回 Business Integration 透視圖的 Business Integration 視圖。選擇 MT_TestMailService,并雙擊以打開 Dependency 編輯器。
展開 Libraries,并使用 Add 功能使以下庫可用于我們的測試:
L_MailService(它提供對我們要測試模塊的訪問)
J_ScaUtilities
LT_ScaJUnitTest
LT_ScaTest
展開 J2EE,并使用 Add 功能將 MT_TestMailServiceJUnitWeb 添加到 SCA 模塊。您的 Dependency 編輯器現在應與圖 5 所示類似。
圖 5. 測試模塊依賴關系
保存更改。
現在我們需要將庫顯式添加到 Web 項目構建和運行時類路徑中。返回到 Web 透視圖。在 Project Explorer 中,右鍵單擊 MT_TestMailServiceJUnitWeb 項目,然后選擇 Properties。
選擇 Java JAR Dependencies,然后選中我們剛才添加的四個庫(圖 6)。
圖 6. JUnit Web 項目,獨立的 JAR
單擊 OK,以保存這些更改。
現在我們已經完成了對模塊和庫依賴關系的設置。接下來,我們需要使 Cactus 測試框架可用于我們的測試。
共3頁: 1 [2] [3] 下一頁 |