2010-01-21 8 views
17

내 DAO 개체의 단위 테스트를 위해 DbUnit을 사용합니다. 지금까지 훌륭하게 작동합니다.DbUnit 및 이진 데이터

문제점이 있습니다. 데이터베이스에 BLOB로 저장된 byte[] 필드 유형이 있습니다. 열이 null이 아닙니다. DbUnit이 사용하는 XML 데이터 세트 파일에서이 열의 값을 어떻게 지정합니까? 값은 아무 것도 할 수 없으며 5 바이트이면 충분합니다. 나는 이것을 위해서 여분의 바이너리 파일을 만들 필요성을 피하고 싶다.

제안 사항?

XML 데이터 세트 파일 : 나는 그런 식으로 그것을 해결 결국

답변

23

 
<?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.

테스트 케이스 코드 :이뿐만 아니라 당신이 당신의 XML 데이터 파일을 정의하면 NDbUnit와 함께 작동

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

: '예를 들어 MjBxdxxY7NbME2Ha6DKhepVpwio =' –

+0

, 포스트 그레스에서 base64 인코딩 : 'select encode ('12345', 'base64');' –