我正在尝试测试我的 Dao 层。所以我创建了一个嵌入式数据库。在我的 junit 测试中,我正在努力加载数据:
所以我的创建脚本是:
CREATE SCHEMA test_schema AUTHORIZATION DBA;
创建表 test_schema.tableOne (....)
创建数据库后..我尝试使用
加载数据@Test
public void testFind() throws Exception {
IDataSet dataSet = new FlatXmlDataSetBuilder().build(new File(
"./src/test/resources/sampleData.xml"
));
IDatabaseConnection dbConn = new DatabaseDataSourceConnection(dataSource);
DatabaseOperation.INSERT.execute(dbConn, dataSet);
}
我的数据集文件看起来:
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<tableOne state_id="0" previous_state_id="0" player_uid="222222" />
</dataset>
在尝试执行上述操作后,我得到用户缺少权限或找不到对象 TABLEONE...
(顺便说一句,我的数据库是使用 spring 3 嵌入式 hsql 创建的)
有什么想法吗?
最佳答案
好的,已经解决了..
IDatabaseConnection dbConn = new DatabaseDataSourceConnection(dataSource, "TEST_SCHEMA");
dbConn.getConfig().setProperty(DatabaseConfig.FEATURE_QUALIFIED_TABLE_NAMES, true);
显然,当我创建连接时,我必须指定模式名称,但也要大写!
然后可以如下设置数据集
<test_schema.tableone..... etc
关于spring - DBUNIT 和 Spring.. 无法加载数据集文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560252/