java - Spring Test DBUnit 和表架构名称

标签 java dbunit spring-test-dbunit

在使用来自 Spring Test DBUnit 的 @DatabaseSetup 注释时是否可以设置表架构名称?目前我是这样使用它的:

@DatabaseSetup("user-data.xml")
public class UserMapperTest {
}

user-data.xml:(我也试过将元素名称设置为 user.system_user 但没有成功)

<dataset>
    <system_user
        ...
        />
</dataset>

在这里,我正在使用名为用户的模式创建我的表:

create table "user".system_user (...);

这是我在运行测试时遇到的异常:

org.h2.jdbc.JdbcSQLException: Table "SYSTEM_USER" not found; SQL statement:
delete from SYSTEM_USER [42102-175]

最佳答案

我用了这个技巧。 首先,我们需要 OracleConnection bean:

<bean id="oracleConnection" class="org.dbunit.ext.oracle.OracleConnection">
    <constructor-arg value="#{dataSource.getConnection()}"/>
    <constructor-arg value="<your_scheme_name>"/>
</bean>

然后你可以在你的方法中使用这个注解

@DbUnitConfiguration(databaseConnection = "oracleConnection")
@DatabaseSetup(...)

希望对您有所帮助。

关于java - Spring Test DBUnit 和表架构名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22796147/

相关文章:

java - Spring 测试 DBunit 警告

java - 从 BaseAdapter 类型类启动 Activity

java - 在java中使用url.openConnection()函数安全吗?

java - android 线程和处理程序 - 从后台线程更改 UI 对象

java - 将随机数更改为 key 代码

java - JPA DBUnit HsqlDb : Disable constraint checks?

java - 该对象已在集成测试中关闭

unit-testing - DbUnit - 如何在一个 DBTestCase 下设置多个初始测试状态(xml)

java - DBUnit 的奇怪 DB2 问题