DbUnit и двоичные данные - PullRequest
       6

DbUnit и двоичные данные

17 голосов
/ 21 января 2010

Я использую DbUnit для модульного тестирования моих объектов DAO. Пока отлично работает.

У меня проблема, у меня есть поле ob типа byte[], которое хранится в базе данных как BLOB. Столбец не нулевой. Как я могу указать значение для этого столбца в файле набора данных XML, который использует DbUnit? Значение может быть ничего необычного, 5 байт будет достаточно. Я хотел бы избежать необходимости создавать дополнительные двоичные файлы только для этого.

Есть предложения?

1 Ответ

24 голосов
/ 21 января 2010

В конце концов я решил это так:

Файл набора данных 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());
...