नकली कार्यान्वयन के बिना एक बड़ी परियोजना में Guice सार मॉड्यूल के कार्यान्वयन का परीक्षण कैसे करें? क्या बाइंड() और इंजेक्ट() विधियों का परीक्षण करना संभव है?Guice सार मॉड्यूल के कार्यान्वयन का परीक्षण कैसे करें?
उत्तर
आमतौर पर गुइस मॉड्यूल का परीक्षण करने का सबसे अच्छा तरीका है अपने परीक्षण में इंजेक्टर बनाना और यह सुनिश्चित करना कि आप उन चाबियों के उदाहरण प्राप्त कर सकें जिनके बारे में आप परवाह करते हैं।
उत्पादन सामग्री के बिना ऐसा करने के लिए आपको अन्य मॉड्यूल के साथ कुछ मॉड्यूल को प्रतिस्थापित करने की आवश्यकता हो सकती है। आप अलग-अलग बाइंडिंग को चुनिंदा ओवरराइड करने के लिए Modules.override
का उपयोग कर सकते हैं, लेकिन आप आमतौर पर "उत्पादन" प्रकार मॉड्यूल स्थापित करने और इसके बजाय फ़ेक्ड बाइंडिंग का उपयोग करने से बेहतर होते हैं।
चूंकि Guice 4.0 में एक सहायक वर्ग BoundFieldModule
है जो इससे मदद कर सकता है।
public final class MyModuleTest {
@Bind @Mock DatabaseConnection dbConnection;
@Bind @Mock SomeOtherDependency someOtherDependency;
@Inject Provider<MyThing> myThingProvider;
@Before public void setUp() {
MockitoAnnotations.initMocks(this);
Guice.createInjector(new MyModule(), BoundFieldModule.of(this))
.injectMembers(this);
}
@Test public void testCanInjectMyThing() {
myThingProvider.get();
}
}
वहाँ Guice विकि पर अधिक documentation for BoundFieldModule
है: मैं अक्सर की तरह परीक्षण की स्थापना की।
उत्तर के लिए धन्यवाद। क्षमा करें, लेकिन मैं ** BoundFieldModule ** कक्षा और ** @ बाइंड ** एनोटेशन को हल नहीं कर सकता। – Nikolas
@ निकोलस: आप अपने परीक्षण में एक अज्ञात 'सार मॉड्यूल' उप-वर्ग बनाकर वही काम कर सकते हैं, बेशक - 'बाउंडफ़िल्ल्ड मॉड्यूल' सिर्फ एक शॉर्टकट है। (यदि यह आपके प्रोजेक्ट में उपलब्ध नहीं है, तो हो सकता है कि आप गुइस को नवीनतम संस्करण में अपग्रेड करना चाहें।) उत्तर का महत्वपूर्ण हिस्सा यह है कि आपकी निर्भरता सही है यह सुनिश्चित करने का सबसे अच्छा तरीका है कि आप अपने परीक्षण में 'इंजेक्टर' बनाएं, और सत्यापित करें कि यह अपेक्षित के रूप में काम करता है। –
- 1. guice में मॉड्यूल के पदानुक्रम
- 2. एक Guice मॉड्यूल
- 3. म्यूटेक्स कार्यान्वयन का परीक्षण कैसे करें?
- 4. Google Guice
- 5. Guice इंजेक्षन फील्ड Guice
- 6. Google Guice
- 7. Guice
- 8. कर्नेल मॉड्यूल का परीक्षण
- 9. Guice
- 10. RoboGuice इकाई परीक्षण परीक्षण मॉड्यूल के बजाय ऐप मॉड्यूल इंजेक्शनिंग
- 11. समाधान Guice बाध्यकारी विन्यास
- 12. पायथन - एक सार आधार वर्ग का परीक्षण
- 13. बाहरी मॉड्यूल कार्यान्वयन
- 14. Guice
- 15. Guice annotatedWith जेनेरिक्स
- 16. Google Guice के साथ कुछ इंटरफेस में एक कार्यान्वयन कैसे बाध्य करें?
- 17. इकाई परीक्षण एक सार कारखाने कि मानकों
- 18. पैरामीटर की आवश्यकता वाले ऑब्जेक्ट्स बनाने के लिए Google Guice का उपयोग कैसे करें?
- 19. कार्यान्वयन सार बेस मॉडल क्लास, रेल मार्ग ™
- 20. कैसे परीक्षण योग्य requirejs मॉड्यूल
- 21. कंकाल कार्यान्वयन सामान्य सार वर्ग से अलग कैसे होता है?
- 22. Guice + Kotlin
- 23. Angular2 के राउटर का परीक्षण कैसे करें।
- 24. परीक्षण कार्यान्वयन विवरण
- 25. मैं रूबी मिक्सिन मॉड्यूल का परीक्षण कैसे करूं?
- 26. Google Guice
- 27. Guice 2.0
- 28. परीक्षण ड्राइविंग नैन्सी मॉड्यूल
- 29. जुनीट 4 में परीक्षण कार्यान्वयन का पुन: उपयोग?
- 30. Guice: क्षेत्र इंजेक्शन के प्रभाव
आप ढांचे का परीक्षण नहीं करना चाहते हैं, तो बस उस गधे पर भरोसा करें जो बाध्य और इंजेक्ट ठीक काम कर रहे हैं। यदि आप अपने मॉड्यूल कार्यान्वयन का परीक्षण करना चाहते हैं, तो Modules.overwrite पर एक नज़र डालें, आप अपने उत्पादन मॉड्यूल रख सकते हैं और पर्याप्त नकली/नकली सामान को ओवरराइट कर सकते हैं ताकि आप अभी भी आसानी से उन्हें परीक्षण कर सकें। –