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());
这适用于NDbUnit,以及如果你在你的XML数据文件中定义它:' MjBxdxxY7NbME2Ha6DKhepVpwio = HashedPassword>' –
2011-04-14 21:24:35
例如,在Postgres的base64编码: 'select encode('12345','base64');' – 2016-02-01 14:47:05