DbUnit和二进制数据

时间:2010-01-21 08:47:12

标签: xml unit-testing dbunit

我使用DbUnit对我的DAO对象进行单元测试。到目前为止效果很好。

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

有什么建议吗?

1 个答案:

答案 0 :(得分:24)

毕竟我解决了这个问题:

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编码数据,它可以正确转换为字节数组。

测试用例代码:

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