0
<dataset>
 <user id="1" created_date='2017-01-01 00:00:00' email="" user_name="root"/>
</dataset>

上面的 xml 给了我错误。问题是我为用户保留了字。我该如何解决这个问题。任何链接?

更新

我正在使用 spring boot、spring data jpa、spring-test-dbunit、dbunit、postgresql

4

1 回答 1

0

根据这个论坛https://sourceforge.net/p/dbunit/mailman/message/20643023/似乎 DBUnit 没有办法“引用”表名。但是您可以配置DatabaseDataSourceConnectionFactoryBean是否由于某种原因不想重命名表或使用旧数据库

@Configuration
public class Custom.... {

    @Autowired
    private DataSource dataSource;

    @Bean
    public DatabaseConfigBean dbUnitDatabaseConfig() {
        DatabaseConfigBean dbConfigBean = new DatabaseConfigBean();
//        dbConfigBean.setDatatypeFactory(new PostgresqlDataTypeFactory());
        dbConfigBean.setQualifiedTableNames(true);
        return dbConfigBean;
    }

    @Bean
    public DatabaseDataSourceConnectionFactoryBean dbUnitDatabaseConnection() {
        DatabaseDataSourceConnectionFactoryBean databaseDataSourceConnectionFactoryBean = new DatabaseDataSourceConnectionFactoryBean(dataSource);
        databaseDataSourceConnectionFactoryBean.setDatabaseConfig(dbUnitDatabaseConfig());
        return databaseDataSourceConnectionFactoryBean;
    }
}

将 true 设置为qualifiedTableNames 后,您应该在xml 中为您的表提供全名

<public.user id="1" created_date='2017-01-01 00:00:00' email="root@demo.io" password="your password"  username="root"/>
于 2017-02-28T03:41:39.620 回答