国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java基礎學習總結(100)——Dbunit入門簡介

2019-11-06 08:20:28
字體:
來源:轉載
供稿:網友
dbunit是一個基于junit擴展的數據庫測試框架。它提供了大量的類對與數據庫相關的操作進行了抽象和封裝,雖然在80%的情況,你只需使用它極少的api。它通過使用用戶自定義的數據集以及相關操作使數據庫處于一種可知的狀態,從而使得測試自動化、可重復和相對獨立。雖然不用dbunit也可以達到這種目的,但是我們必須為此付出代價(編寫大量代碼,測試及維護),既然有了這么優秀的開源框架,我們又何必再造輪子。概念DbUnit是為數據庫驅動的項目提供的一個對JUnit 的擴展,除了提供一些常用功能,它可以將你的數據庫置于一個測試輪回之間的狀態。簡介為依賴于其他外部系統(如數據庫或其他接口)的代碼編寫單元測試是一件很困難的工作。在這種情況下,有效的單元必須隔離測試對象和外部依賴,以便管理測試對象的狀態和行為。使用mock object對象,是隔離外部依賴的一個有效方法。如果我們的測試對象是依賴于DAO的代碼,mock object技術很方便。但如果測試對象變成了DAO本身,又如何進行單元測試呢?開源的DbUnit項目,為以上的問題提供了一個相當優雅的解決方案。使用DbUnit,開發人員可以控制測試數據庫的狀態。進行一個DAO單元測試之前,DbUnit為數據庫準備好初始化數據;而在測試結束時,DbUnit會把數據庫狀態恢復到測試前的狀態。原理dbunit的與單元測試相關的兩個最重要的核心是org.dbunit.database.IDatabaseConnection 和 org.dbunit.dataset.IDataSet ,前者是產品代碼使用的數據庫連接的一個簡單的封裝,后者是對單元測試人員自定義的數據集(通常以xml文件的形式存在,且xml文件的格式也有好幾種)的封裝。還有一個很重要的咚咚就是org.dbunit.Operation.DatabaSEOperation,該類是一個抽象類代表了對數據庫的操作,例如CUD以及其組合等, 它采用了退化的工廠模式,可直接通過它獲取其具體的子類(代表具體的某種操作)如下:DatabaseOperation.UPDATEDatabaseOperation.DELETEDatabaseOperation.DELETE_ALLDatabaseOperation.TRUNCATEDatabaseOperation.REFRESHDatabaseOperation.CLEAN_INSERTDatabaseOperation.NONE工作流程如下:1)testcase.setup--->testcase.getConnection-->getDataSet----->operation.execute(通常DatabaseOperation.CLEAN_INSERT)2)testcase.testSomeMethod---->dao.someMethod3)testcase.teardown---->operation.execute(通常DatabaseOperation.DELETE_ALL或者DatabaseOperation.NONE)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 思茅市| 财经| 宁陵县| 金阳县| 保康县| 萝北县| 宣恩县| 康平县| 龙江县| 兖州市| 民和| 甘孜| 青神县| 高州市| 宣恩县| 廊坊市| 永年县| 琼结县| 新龙县| 全椒县| 和林格尔县| 通道| 安化县| 襄汾县| 湛江市| 屏山县| 威宁| 古交市| 永新县| 平江县| 二手房| 高阳县| 葵青区| 通道| 揭阳市| 朝阳县| 台南市| 克拉玛依市| 隆尧县| 临潭县| 万年县|