javascript
dbunit测试dao_用于数据库测试的DBUnit,Spring和注释
dbunit測試dao
如果您曾經嘗試用Java編寫數據庫測試,則可能會遇到DBUnit 。 DBUnit允許您設置和拆除數據庫,以便它包含可針對其編寫測試的一致行。 通常,您可以通過編寫一個簡單的XML文檔來指定要DBUnit插入的行,例如:
您也可以使用相同格式的XML文件來斷言數據庫包含特定的行。
DBUnit在使用內存數據庫時效果特別好,如果使用Spring,則設置起來非常簡單。 這是一篇很好的文章,描述了如何入門。
直接使用DBUnit是可以的,但是一段時間后,您會發現有多少測試遵循相同的數據庫設置模式,然后測試結果。 為了減少重復,您可以使用spring-test-dbunit項目 。 該項目托管在GitHub上,并提供了一組新的批注,可以將其添加到您的測試方法中。 1.0.0版剛剛發布,現在可以在Maven中央存儲庫中使用:
<dependency><groupId>com.github.springtestdbunit</groupId><artifactId>spring-test-dbunit</artifactId><version>1.0.0</version><scope>test</scope> </dependency>安裝后,可以在測試中使用三個新的注釋: @DatabaseSetup , @DatabaseTearDown和@ExpectedDatabase 。 這三種都可以在測試類上使用,也可以在單獨的測試方法上使用。
@DatabaseSetup和@DatabaseTearDown批注用于在測試運行之前或測試完成之后將數據庫置于一致狀態。 您指定要用作注釋值的數據集,例如:
@Test @DatabaseSetup("sampleData.xml") public void testFind() throws Exception {// test code }測試完成后, @ ExpectedDatabase批注用于驗證數據庫的狀態。 與前面的注釋一樣,您必須指定要使用的數據集。
@Test @DatabaseSetup("sampleData.xml") @ExpectedDatabase("expectedData.xml") public void testRemove() throws Exception {// test code }您可以在兩種不同的模式下使用@ExpectedDatabase ,具體取決于驗證的嚴格程度(有關詳細信息,請參見JavaDocs )。
對于要處理的注釋,您需要確保測試使用的是DbUnitTestExecutionListener。 有關完整的詳細信息,請參見項目自述文件 。 如果您想了解更多信息,可以在GitHub上找到一個示例項目,并在此處獲得一些入門指南 。
參考:來自Phil Webb博客博客的JCG合作伙伴 Phillip Webb 使用DBUnit,Spring和Annotations進行數據庫測試 。
翻譯自: https://www.javacodegeeks.com/2012/04/dbunit-spring-and-annotations-for.html
dbunit測試dao
總結
以上是生活随笔為你收集整理的dbunit测试dao_用于数据库测试的DBUnit,Spring和注释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拜托,Java。 最终是否支持多行字符串
- 下一篇: ddos防御手段有哪些(ddos防御手段