return new FlatXmlDataSet(new File("test/conf/seed.xml"));
}
ClassNotFoundException, SQLException {
Class.forName("org.hsqldb.jdbcDriver");
final Connection jdbcConnection =
DriverManager.getConnection("jdbc:hsqldb:hsql://127.0.0.1",
"sa", "");
return new DatabaseConnection(jdbcConnection);
}
}
加入了 DbUnit,測試用例真的是可重復的了。在 handleSetUpOperation() 方法中,每當運行一個測試用例時,DbUnit 對數據執行一個 CLEAN_INSERT。此操作本質上將一個數據庫的數據清空并插入一個新的數據集,從而刪除任何之前創建的小部件。
再一次探討什么是 DbUnit?
DbUnit 是一個 JUnit 擴展,用于在運行測試時將數據庫放入一個已知狀態中。開發人員使用 XML 種子文件將特定數據插入到測試用例所依賴的數據庫中。因而,DbUnit 便利了依賴于一個或多個數據庫的測試用例的可重復性。
但那并不意味著已經結束了對測試用例可重復性這一話題的探討。事實上,一切才剛剛開始。
重復系統測試
我喜歡將 清單 1 和 清單 2 中定義的測試用例稱為系統測試。因為系統測試運行安裝完整的應用程序,如 Web 應用程序,它們通常包含一個 servlet 容器和一個相關聯的數據庫。這些測試的目的在于校驗那些設計為端對端操作的外部接口(如 Web 應用程序中的 Web 頁面)。