2011-05-08 11 views
8

साथ जर्सी हम एक परीक्षण है जो JerseyTest फैली है और हम एक नकली सेवा यह में इंजेक्शन की जरूरत है। हम ऐसा कैसे कर सकते हैं?यूनिट परीक्षण Mocks

धन्यवाद

+0

जर्सी के एक मुझ पर नया एक। मैंने सोचा कि हर कोई जुनीट या टेस्टएनजी का इस्तेमाल करता है। – duffymo

+0

विस्तारित जर्सीटेस्ट आपको नियमित जुनीट @ टेस्ट एनोटेशन जोड़ने की अनुमति देता है, लेकिन मुझे नहीं पता कि जर्सी-वसंत द्वारा उपयोग की जाने वाली स्प्रिंग कॉन्फ़िगरेशन में नकली सेवा कैसे इंजेक्ट करें। कोई विचार? – alecswan

+0

क्या आपको वास्तव में मॉकिटो इंजेक्ट करने की आवश्यकता है जब इसमें केवल स्थिर तरीके हों? – Spoike

उत्तर

2

संपादित करें: इस समाधान केवल जर्सी 1.x के साथ काम करता है, और इसलिए काफी पुरानी हो चुकी है।

यह http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/ लाइब्रेरी को संदर्भित करता है।

यदि आप वसंत का उपयोग करते हैं, तो आप जर्सीटेस्ट के बजाय सारस्ट्रिंगवेयरवेयर जर्सीटेस्ट का विस्तार कर सकते हैं, और जो कुछ भी आपको चाहिए उसे इंजेक्ट कर सकते हैं।

के रूप में अनुरोध किया है, कोड का एक छोटा टुकड़ा:

public class MyClassTest extends AbstractSpringAwareJerseyTest{ 

    @Autowired 
    private LdapSetupAndTearDown ldapSetupAndTearDown; 

    @Before 
    public void setUp2() throws Exception { 
    ldapSetupAndTearDown.setUp(); 
    } 

    @After 
    public void tearDown2() throws Exception { 
    ldapSetupAndTearDown.tearDown(); 
    } 

    public MyClassTest() throws Exception { 
    super(new WebAppDescriptor.Builder() 
    .contextPath("JSONUserServiceTest") 
    .contextParam("contextConfigLocation", 
     "classpath:/ctx-config-test.xml,classpath:/ctx-core.xml, classpath:/ctx-jmx-test.xml, classpath:ctx-jersey.xml, classpath:ctx-ldap.xml, classpath:ctx-ldap-test.xml") 
    .servletClass(SpringServlet.class).contextListenerClass(ContextLoaderListener.class).build()); 
    } 
+1

मैं वह बताते हैं अनुमान लगाना: http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/ मैं यह काम कर रहा है, हालांकि नहीं मिला। –

+0

बिल्कुल, इस ट्यूटोरियल ने मुझे इस समाधान के लिए प्रेरित किया, और यह ठीक काम करता है। परिशुद्धता के लिए धन्यवाद। –

+0

क्या आप विस्तारित करना चाहते हैं कि कैसे 'ऑटोवायर' बीन्स टेस्ट क्लास में इंजेक्शन दिए जाते हैं (क्या आपने कुछ' @ रनविथ 'को उदाहरण दिया है, उदाहरण के लिए)? क्या आप यहां अपनी टेस्ट क्लास का एक साधारण उदाहरण पारित कर सकते हैं? –