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