问题描述
我使用 DbUnit 对我的 DAO 对象进行单元测试.到目前为止效果很好.
我有一个问题,我有字段 ob 类型 byte[]
在数据库中存储为 BLOB.该列不为空.如何在 DbUnit 使用的 XML 数据集文件中指定此列的值?该值可以没什么特别的,5 个字节就足够了.我想避免为此创建额外的二进制文件.
有什么建议吗?
毕竟我是这样解决的:
XML 数据集文件:
<?xml version="1.0" encoding="UTF-8"?><数据集 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><!-- image_content 是字符串 '12345' Base64 编码 --><IMAGE IMAGE_ID="1" IMAGE_CONTENT="MTIzNDU="/>数据集>DbUnit 内置了对 Base64 编码数据的支持,它可以正确地转换为字节数组.
测试用例代码:
assertEquals("12345".getBytes(), image.getContent());I use DbUnit for unit-testing of my DAO objects. It works great so far.
I have a problem, I have field ob type byte[]
which is stored as BLOB in the database. The column is not-null. How can I specify the value for this column in the XML dataset file, that DbUnit uses? The value can be nothing fancy, 5 bytes will be enough. I would like to avoid necessity to create extra binary files just for this.
Any suggestions?
After all I solved it like that:
XML dataset file:
<?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 has built-in support for Base64 encoded data, it transformes correctly into byte array.
Test case code:
assertEquals("12345".getBytes(), image.getContent());
这篇关于DbUnit 和二进制数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!