2010-01-21 17 views
17

मैं अपने डीएओ ऑब्जेक्ट्स के यूनिट-परीक्षण के लिए डीबीयूनीट का उपयोग करता हूं। यह अब तक बहुत अच्छा काम करता है।डीबीयूनीट और बाइनरी डेटा

मुझे कोई समस्या है, मेरे पास फ़ील्ड ओबी टाइप byte[] है जो डेटाबेस में बीएलओबी के रूप में संग्रहीत है। कॉलम शून्य नहीं है। मैं XML डेटासेट फ़ाइल में इस कॉलम के मान को कैसे निर्दिष्ट कर सकता हूं, कि DbUnit उपयोग करता है? मूल्य कुछ भी फैंसी नहीं हो सकता है, 5 बाइट पर्याप्त होंगे। मैं सिर्फ इसके लिए अतिरिक्त बाइनरी फाइलें बनाने की आवश्यकता से बचना चाहता हूं।

कोई सुझाव?

उत्तर

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।

टेस्ट मामले कोड:

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

यह रूप में अच्छी तरह अगर आप इसे अपने XML डेटा फ़ाइल में परिभाषित NDbUnit साथ काम करता है: ' MjBxdxxY7NbME2Ha6DKhepVpwio =' –

+0

उदाहरण के लिए, Postgres में बेस 64 एन्कोडिंग: 'एन्कोड का चयन करें (' 12345 ',' बेस 64 '); ' –

संबंधित मुद्दे