DbUnit和二进制数据

问题描述:

我使用DbUnit对我的DAO对象进行单元测试。迄今为止它效果很好。DbUnit和二进制数据

我有一个问题,我有字段ob类型byte[]它存储为数据库中的BLOB。该列不为空。如何在DbUnit使用的XML数据集文件中指定此列的值?这个值可以不是什么幻想,5个字节就足够了。我想避免为此创建额外的二进制文件。

有什么建议吗?

所有我解决它像得知:

XML数据集文件:

 
<?xml version="1.0" encoding="UTF-8"?> 
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > 
    <!-- image_content is string '12345' Base64 encoded --> 
    <IMAGE IMAGE_ID="1" IMAGE_CONTENT="MTIzNDU="/> 
</dataset> 

的DbUnit已经内置了对Base64编码的数据支持,其正确transformes成字节数组。

测试用例代码:

 
assertEquals("12345".getBytes(), image.getContent()); 
+1

这适用于NDbUnit,以及如果你在你的XML数据文件中定义它:' MjBxdxxY7NbME2Ha6DKhepVpwio = HashedPassword>' – 2011-04-14 21:24:35

+0

例如,在Postgres的base64编码: 'select encode('12345','base64');' – 2016-02-01 14:47:05