单元测试 unitils.properties配置
#启动unitils所需模块
unitils.modules=database,dbunit,hibernate,spring
#自定义扩展模块
#unitils.module.dbunit.className=sample.unitils.module.CustomExtModule
#配置数据库连接
database.driverClassName=oracle.jdbc.driver.OracleDriver
database.url=jdbc:oracle:thin:@localhost:1521:orcl
database.userName=junit
database.password=test123
database.schemaNames=t_user
database.dialect=oracle
#配置数据库维护策略
updateDataBaseSchema.enabled=true
#配置数据库表创建策略
dbMaintainer.autoCreateExecutedScriptsTable=true
dbMaintainer.script.locations=E:/JAVA/MyEclipse_pro/Junit+Unitils/Test/dbscripts
#配置数据加载策略
DbUnitModule.DataSet.factory.default=com.chenyan.util.dataset.excel.MultiSchemaXlsDataSetFactory
DbUnitModule.ExpectedDataSet.factory.default=com.chenyan.util.dataset.excel.MultiSchemaXlsDataSetFactory
#数据集加载策略
#CleanInsertLoadStrategy:先删除dateSet中有关表的数据,然后再插入数据
#InsertLoadStrategy:只插入数据
#RefreshLoadStrategy:有同样key的数据更新,没有的插入
#UpdateLoadStrategy:有同样key的数据更新,没有的不做任何操作
DbUnitModule.DataSet.loadStrategy.default=org.unitils.dbunit.datasetloadstrategy.impl.CleanInsertLoadStrategy
如果是要指定具体方法的数据集加载级别,在@Dataset制定就是可以覆盖了
@Test @Transactional(TransactionMode.ROLLBACK) @DataSet(value = "xxService-xx.xml",loadStrategy = InsertLoadStrategy.class)
#配置事务策略
DatabaseModule.Transactional.value.default=commit
#配置数据集结构模式XSD生成路径
dataSetStructureGenerator.xsd.dirName=resources/xsd
这边做测试,想看看数据库脚本是怎么创建的
1,正常情况下,用户没有表,执行,自动建表
2,修改数据库表字段,然后执行测试,并不会删除表数据和结构再执行脚本
3.修改或新增脚本文件,会触发重新执行脚本
所以如果用它来维持数据库表,必须所有针对表单修改都用script去做,或必须更新到script上
一般的测试方法示例