首页 > 解决方案 > Java DbUnit 信息架构 MySQL

问题描述

我将 Java 与 MySQL 数据库一起使用,当我尝试运行测试时,我收到消息:

org.dbunit.dataset.DataSetException:java.sql.SQLSyntaxErrorException:信息架构中的未知表“my_table”

看起来 DbUnit 无法访问表的元数据。你有什么主意吗 ?

谢谢

标签: javamysqldbunit

解决方案


我遇到了同样的问题。当前版本的 (2.6.0) 似乎DBUnit与最新版本的mysql-connector-java. mysql-connector-java我通过更改 to 的版本来修复它5.*.*

如果它不起作用。您可以尝试自己指定架构。为此,您需要创建一个IDataBaseConnectionbean

@Bean("mysqlTestSource")
public IDatabaseConnection databaseConnection(DataSource dataSource) throws SQLException, DatabaseUnitException {
    return new MySqlConnection(dataSource.getConnection(), YOUR_SCHEMA_NAME);
}

然后通过将此注释添加到您的测试类来要求 DBUnit 使用此连接

@DbUnitConfiguration(databaseConnection = "mysqlTestSource")

希望能帮助到你。


推荐阅读