我想尝试使用DBUnit进行单元测试,但我的数据集有问题.这是我的持久性对象:@Entity@Table(name = personnes)public class Personne implements Serializable {@Id@GeneratedValue(strategy = GenerationType.AU...
我想尝试使用DBUnit进行单元测试,但我的数据集有问题.
这是我的持久性对象:
@Entity
@Table(name = "personnes")
public class Personne implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer pk;
@Column
private String name;
}
我的数据集:
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<personnes name="toto" pk="1" />
</dataset>
我的问题是名称列,我收到此错误:
org.dbunit.dataset.NoSuchColumnException: personnes.NAME - (Non-uppercase input column: name) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive.
我不明白为什么dbunit搜索列“NAME”而我的列是“name”.
谢谢你的帮助.
解决方法:
我已经打了一段时间了,并继续回到这个问题,但似乎还没有解决方案.
在Unitils 3.4.1中,他们添加了一个新属性org.dbunit.database.IMetadataHandler.implClassName
在我的unitils.properties文件中,我添加了以下行
org.dbunit.database.IMetadataHandler.implClassName=org.dbunit.ext.mysql.MySqlMetadataHandler
是的,我知道,根据Unitils的网站,没有版本3.4.1,但你可以通过Maven获得最新版本.
link to issue report
沃梦达教程
本文标题为:java – Unitils / DBunit和数据库测试
基础教程推荐
猜你喜欢
- java – 使用jdbc和Kerberos委派连接到SAP HANA数据库 2023-11-03
- Java中@Pattern注解常用的校验正则表达式学习笔记 2023-02-19
- springboot vue测试平台接口定义前后端新增功能实现 2022-11-12
- 为Java / Spring / Tomcat Web应用程序淘汰MongoDB或Couch的Hibernate / Mysql 2023-11-04
- 一文搞懂Spring Security异常处理机制 2023-02-27
- MyBatis将查询出的两列数据装配成键值对的操作方法 2023-04-06
- SpringMVC视图转发重定向区别及控制器详解 2022-11-25
- Java处理延时任务的常用几种解决方案 2022-11-29
- Java数据结构之图的路径查找算法详解 2023-06-30
- Java操作Elasticsearch rest-high-level-client 的基本使用 2023-06-23