我想尝试使用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获得最新版本.