2013-06-18 11 views
9

मैं अपने यूनिट परीक्षण के लिए Robolectric का उपयोग कर रहा हूं और 1.2 से 2.2 तक अपने Robolectric जार अपडेट किया है और यह पता लगाने की कोशिश कर रहा हूं कि इस नए संस्करण में छाया कक्षाओं को कैसे बांधें। यही वह है जो मैं पहले कर रहा था:Robolectric 2.2 का उपयोग करते समय छाया वर्ग कैसे जोड़ें?

Robolectric.bindShadowClass(ShadowLog.class); 

@Implements(Log.class) 
public static class ShadowLog { 
    public static int i(java.lang.String tag, java.lang.String msg) { 
     System.out.println("[" + tag + "] " + msg); 
     return 0; 
    } 
} 

लेकिन मुझे लगता है कि अब कोई bindShadowClass API उपलब्ध नहीं है। मैंने addShadowClass का उपयोग करने की कोशिश की लेकिन मुझे यकीन नहीं है कि छाया छाया जोड़ने का यह सही तरीका है या नहीं। मैं तो बस का उपयोग कर सकते

ShadowMap a = new ShadowMap.Builder().addShadowClass(ShadowLog.class).build(); 

मैं कैसे बना सकते हैं और है कि classHandler मेरी लॉग वर्ग के तरीकों पर पहुंच प्राप्त करने का उपयोग करते हैं मैं एक classHandler या कुछ और इस shadowMap और हाँ यदि का उपयोग कर बनाने के लिए की जरूरत है,?

@Implements(Log.class) 
public static class ShadowLog { 
    public static int i(java.lang.String tag, java.lang.String msg) { 
     System.out.println("[" + tag + "] " + msg); 
     return 0; 
    } 
} 

और फिर Log.i("LogTest", "log message ");

धन्यवाद अभि

+0

शैडो कक्षाओं का बाध्यकारी अब @ कॉनफिग एनोटेशन के साथ बदल दिया गया है। उदाहरण: @ कॉनफिग (छाया = {ShadowLog.class}) –

+0

आपको यह जवाब स्वीकार करना चाहिए @ एबी – Snicolas

उत्तर

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