Xml DbUnit和二进制数据

Xml DbUnit和二进制数据,xml,unit-testing,dbunit,Xml,Unit Testing,Dbunit,我使用DbUnit对DAO对象进行单元测试。到目前为止效果很好 我有一个问题,我有字段ob typebyte[],它作为BLOB存储在数据库中。该列不为空。如何在DbUnit使用的XML数据集文件中指定此列的值?这个值可以不是很特别,5个字节就足够了。我想避免仅仅为此创建额外的二进制文件的必要性 有什么建议吗?毕竟我是这样解决的: XML数据集文件: <?xml version="1.0" encoding="UTF-8"?> <dataset xmlns:xsi="http://w

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

我有一个问题,我有字段ob type
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编码数据的支持,它可以正确地转换为字节数组

测试用例代码:

assertEquals("12345".getBytes(), image.getContent()); assertEquals(“12345.getBytes(),image.getContent());
如果您在XML数据文件中定义NDbUnit,这也适用于NDbUnit:
mjbxdxxy7nbme2ha6dkhepvwio=
例如,Postgres中的base64编码:
select encode('12345','base64')只是一个提示:当在字符串和字节之间进行转换以及在vica之间进行转换时,例如在本答案中的assertEquals方法示例中,始终指定要使用的字符集。我刚刚在IDE中进行了一个单元测试(默认为UTF-8),但在使用Maven构建时失败(使用windows默认编码,导致字符串不匹配)