2011-12-27 18 views
22

मैं वसंत की जावा कॉन्फ़िगरेशन की कोशिश कर रहा हूं। जबकि एक्सएमएल config का उपयोग करके फ़ाइलें मेरी इकाई परीक्षण मैं जावा विन्यास का उपयोग कर रहा है, तो कैसे मैं इसे करते हैं निम्नलिखितवसंत जावा कॉन्फ़िगरेशन यूनिट परीक्षण

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(....) 

के लिए इस्तेमाल करते हैं। या मैं बस का उपयोग करना चाहिए

ApplicationContext appConfig = new AnnotationConfigApplicationContext(SimpleConfiguration.class); 

उत्तर

29

स्प्रिंग 3.1 के रूप में, @ कोन्टेक्स्ट कॉन्फ़िगरेशन अब @ कॉन्फ़िगरेशन कक्षाओं के लिए पूर्ण समर्थन है; कोई एक्सएमएल आवश्यक है।

@RunWith(SpringJUnit4ClassRunner.class) 
// ApplicationContext will be loaded from AppConfig and TestConfig 
@ContextConfiguration(classes={AppConfig.class, TestConfig.class}) 
public class MyTest { 
    // class body... 
} 

AppConfig और TestConfig @Configuration वर्गों (उर्फ "जावा config" @ user373201 की टिप्पणियों में वर्ग) हैं

:

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#d0e1392

या अधिक विशेष रूप से, http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#testcontext-ctx-management-javaconfig है, जो निम्नलिखित कोड का टुकड़ा से पता चलता देखें

+0

मेरे प्रश्न के लिए प्रासंगिकता नहीं दिख रहा है। मैं जानना चाहता था कि जावा कॉन्फ़िगरेशन क्लासेस – user373201

+0

का उपयोग करते समय @Context कॉन्फ़िगरेशन का उपयोग कैसे करें, आपको बहुत धन्यवाद। – user373201

+0

क्या स्रोत कोड में उपयोग की जाने वाली समान जावा कॉन्फ़िगरेशन कक्षाओं का उपयोग करना संभव है, या फ़ाइलों को डुप्लिकेट किया जाना चाहिए और परीक्षण फ़ोल्डर में रखना चाहिए? – user16655

3

@ContextConfiguration जब तुम परीक्षण मामलों के साथ काम कर रहे हैं वसंत विन्यास लोड करने के लिए प्रयोग किया जाता है। यदि आपको इसकी आवश्यकता नहीं है, तो आप स्प्रिंग कॉन्फ़िगरेशन लोड करने के लिए ClassPathXmlAplicationContext का उपयोग कर सकते हैं।

constructor का उपयोग करें जो कॉन्फ़िगरेशन स्थानों को स्ट्रिंग सरणी के रूप में लेता है।

एनोटेशन कॉन्फिग एप्प्लिकेशन कॉन्टेक्स्ट एनोटेटेड कक्षाओं को स्वचालित रूप से पहचानने के लिए उपयोग किया जाता है। मुझे नहीं लगता कि इसका उपयोग कॉन्फ़िगरेशन फ़ाइलों को लोड करने के लिए किया जा सकता है। यह संदर्भ के समान है: घटक-स्कैन

SpringJUnit4ClassRunner @Test जैसे एनोटेशन के माध्यम से जूनिट के लिए स्प्रिंग टेस्ट समर्थन प्रदान करता है।

+0

क्या आप जावा कॉन्फ़िगरेशन क्लासेस – user373201

+0

के साथ @Context कॉन्फ़िगरेशन का उपयोग कैसे कर सकते हैं, इस बारे में एक उदाहरण प्रदान कर सकते हैं कि आप जावा कॉन्फ़िगर क्लास का क्या मतलब रखते हैं? कृपया एक नमूना प्रदान करें। –

+0

मैंने आगे के स्पष्टीकरण के लिए अपना मूल उत्तर अपडेट कर दिया है। –

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