हम एक कक्षा के लिए जुनीट परीक्षण लिख रहे हैं जो एक निर्भरता इंजेक्ट करने के लिए स्प्रिंग ऑटोवॉयरिंग का उपयोग करता है जो एक इंटरफेस का कुछ उदाहरण है। चूंकि परीक्षण के तहत कक्षा स्पष्ट रूप से निर्भरता को तुरंत समाप्त नहीं करती है या इसे एक निर्माता में पारित कर दिया गया है, ऐसा लगता है कि जेमॉकिट इसे तुरंत चालू करने के लिए बाध्य नहीं है।ऑटोमोल्ड इंटरफ़ेस कार्यान्वयन के लिए जेमॉकिट का उपयोग
अब तक हम स्प्रिंग लोडर मॉक निर्भरताओं के लिए स्प्रिंगरुनर का उपयोग कर रहे हैं, जो काम करता है। दो चीजें जिन्हें हम इस बारे में पसंद नहीं करते हैं 1) वसंत ढांचे को लोड किया जाना चाहिए और प्रत्येक बार उन परीक्षणों को चलाने के लिए शुरू किया जाना चाहिए जो वास्तव में तेज़ नहीं हैं, और 2) हमें वास्तविक वर्गों के रूप में सभी नकली निर्भरताओं को स्पष्ट रूप से बनाने के लिए मजबूर होना पड़ता है, जो कुछ JMockit खत्म करने में मदद करता है।
यहाँ हम क्या परीक्षण कर रहे हैं की एक सरल उदाहरण है:
public class UnitUnderTest {
@Autowired
ISomeInterface someInterface;
public void callInterfaceMethod() {
System.out.println("UnitUnderTest.callInterfaceMethod calling someInterface.doSomething");
someInterface.doSomething();
}
}
तो, सवाल है, वहाँ JMockit एक नकली someInterface
बनवाने के लिए एक रास्ता है?
यह भी देखें: http://stackoverflow.com/questions/1638911/mock-object-and-spring-annotations –