江西建设推广网站,crm网页版,杭州企业网站定制,湛江市住房和城乡建设局网站dbunit测试dao如果您曾经尝试用Java编写数据库测试#xff0c;则可能会遇到DBUnit 。 DBUnit允许您设置和拆除数据库#xff0c;以便它包含可针对其编写测试的一致行。 通常#xff0c;您可以通过编写一个简单的XML文档来指定要DBUnit插入的行#xff0c;例如#xff1a; … dbunit测试dao 如果您曾经尝试用Java编写数据库测试则可能会遇到DBUnit 。 DBUnit允许您设置和拆除数据库以便它包含可针对其编写测试的一致行。 通常您可以通过编写一个简单的XML文档来指定要DBUnit插入的行例如 ?xml version1.0 encodingUTF-8?
datasetPerson id0 titleMr firstNameDave lastNameSmith/Person id1 titleMrs firstNameJane lastNameDoe/
/dataset 您也可以使用相同格式的XML文件来断言数据库包含特定的行。 DBUnit在使用内存数据库时效果特别好如果使用Spring则设置起来非常简单。 这是一篇很好的文章描述了如何入门。 直接使用DBUnit是可以的但是一段时间后您会发现有多少测试遵循相同的数据库设置模式然后测试结果。 为了减少重复您可以使用spring-test-dbunit项目 。 该项目托管在GitHub上并提供了一组新的批注可以将其添加到您的测试方法中。 1.0.0版刚刚发布现在可以在Maven中央存储库中使用 dependencygroupIdcom.github.springtestdbunit/groupIdartifactIdspring-test-dbunit/artifactIdversion1.0.0/versionscopetest/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 使用DBUnitSpring和Annotations进行数据库测试 。 翻译自: https://www.javacodegeeks.com/2012/04/dbunit-spring-and-annotations-for.htmldbunit测试dao