के साथ जर्सीटेस्ट कंटेनर से प्रबंधित बीन पुनर्प्राप्त करें यह प्रश्न पिछले प्रश्न Specify Custom Application Context से एक अनुवर्ती है।जर्सी-वसंत 3
हम जर्सी-वसंत 3 का जर्सी-वसंत 3 का उपयोग कर जर्सी-वसंत में जर्सी 2.x का उपयोग कर जर्सी 1.x से हमारी कुछ डेटा सेवाओं को माइग्रेट कर रहे हैं।
हमारे पास कुछ परीक्षण कक्षाएं हैं जो जर्सीटेस्ट से प्राप्त होती हैं। इनमें से कुछ कक्षाएं कस्टम अनुप्रयोग Context.xml फ़ाइलों का उपयोग करती हैं जो web.xml फ़ाइल में निर्दिष्ट नहीं हैं।
ऑब्जेक्ट मॉकिंग उद्देश्यों के लिए हम अपने जर्सी संसाधनों में कुछ घटकों का मज़ाक उड़ाएंगे।
जर्सी 1.x में हम से
<bean id="mockBean" class="org.easymock.EasyMock"
factory-method="createStrictMock" autowire="byName">
<constructor-arg index="0" value="com.xxx.xxx.ClassToMock" />
</bean>
आवेदन संदर्भ फ़ाइल में वस्तुओं नकली और के रूप में
ClassToMock obj = (ClassToMock)ContextLoader
.getCurrentWebApplicationContext()
.getAutowireCapableBeanFactory()
.getBean("mockBean");
इस प्रकार कैसे एक ही जर्सी 2 के साथ प्राप्त किया जा सकता इन मज़ाक उड़ाया उदाहरणों को पुनः प्राप्त कर सकते हैं। जर्सी-वसंत 3 का उपयोग कर एक्स?
मैंने API docs, user guides और sources में से कुछ को कॉम्बेड किया है लेकिन उत्तर पाने में असमर्थ था।
धन्यवाद।
संपादित करें:
हम अपने JAX-आरएस संसाधनों के अंदर मज़ाक उड़ाया सेम का उपयोग किया जाएगा। हमारे पास सेवा इंटरफेस हैं जो हमारे संसाधनों में @Autowired
हैं।
उदा।
@Path(ProductResource.RESOURCE_PATH)
@Component
@Scope("prototype")
public class ProductResource
extends GenericResource<Product, BaseModel> {
/*
* Members
*/
public static final String RESOURCE_PATH = "product/";
@Autowired
protected ProductService productService;
...
हम इन सेवाओं पर अपेक्षाओं को देखना चाहते हैं और सेट करना चाहते हैं।
उदा।
<bean id="productService" class="org.easymock.EasyMock"
factory-method="createStrictMock">
<constructor-arg index="0"
value="com.xxx.xxx.service.ProductService" />
</bean>
क्या आप इसे एक उदाहरण पर चित्रित कर सकते हैं? (आप कैसे/कब/कहां मॉक बीन का उपयोग कर रहे हैं? क्या यह एक जेएक्स-आरएस संसाधन के अंदर है?) क्या आपको बिल्कुल 'WebAplicationContext' या किसी' ApplicationContext' की आवश्यकता है? –
या तो 'WebAplicationContext' या' ApplicationContext' ठीक होगा। जो भी हमें बीन को एक सूचक देता है जिसे जेएक्स-आरएस संसाधनों में इंजेक्शन दिया गया था। –