2009-03-06 13 views
39

मैं इस उपकरण है जो दृश्य स्टूडियो के साथ माइक्रोसॉफ्ट जहाजों क्योंकि यह जल्दी हो जाता है और गंदाडब्ल्यूसीएफ सेवाओं का परीक्षण करने का सबसे अच्छा तरीका क्या है?

http://msdn.microsoft.com/en-us/library/bb552364.aspx

का उपयोग किया है लेकिन यह थोड़े भद्दा और के साथ काम करना मुश्किल है। क्या वहां कोई अन्य उपयोगी परीक्षण क्लाइंट है जिसका उपयोग आप करते हैं और एक नया विजुअल स्टूडियो प्रोजेक्ट बनाने और कोड संकलित करने की आवश्यकता नहीं है?

संपादित करें: मैं एक ग्राफिकल परीक्षण उपकरण के लिए और अधिक देख रहा हूं जिसका उपयोग मैं अपने विभिन्न वातावरण में सिस्टम के त्वरित विज्ञापन-परीक्षण परीक्षणों के लिए एक अलग-अलग परीक्षण लिखने के बिना कर सकता हूं।

उत्तर

16

SoapUI एक और वेब सेवा परीक्षण उपकरण है। मैं दृढ़ता से इसकी अनुशंसा करता हूं।

+0

मैं सिर्फ वेब सेवाओं की तुलना में अधिक है, हम WCF – Nick

+0

में net.tcp बाइंडिंग का एक बहुत का उपयोग कर रहे बस अपने सेवा के लिए एक अतिरिक्त basicHttpBinding समाप्ति बिंदु जोड़ सकते हैं और SoapUI करने के लिए इसे खिलाने के लिए देख रहा हूँ। –

+2

जो netTcp बाइंडिंग का परीक्षण नहीं करेगा, हमारे पास पूरा उद्देश्य – Nick

8

आपको अपने पसंदीदा यूनिट परीक्षण ढांचे का उपयोग करने और परीक्षण लिखने के बजाय डब्ल्यूसीएफ सर्विसेज के स्वचालित परीक्षण बनाने के लिए कोई बेहतर टूल नहीं मिल रहा है। परीक्षण क्लाइंट, न ही सोपयूआई एक परीक्षण तैयार करेगा जो निरंतर एकीकरण परिदृश्य में चल सकता है।

+7

@ जॉन, मैं निरंतर एकीकरण में सोपूआई का उपयोग कर रहा हूं हर दिन बनाता है: http://www.soapui.org/userguide/commandline/functional.html –

+1

इसे पोस्ट करने के लिए धन्यवाद। यदि आप डब्ल्यूसीएफ सेवाओं का परीक्षण करने के लिए जुनीट का उपयोग करते हैं, तो आपको कहीं कहीं ब्लॉग करना चाहिए। ज्यादातर लोग जावा का उपयोग .NET कोड का परीक्षण करने के लिए नहीं करेंगे। –

+2

मैंने उल्लेख नहीं किया कि मैं जुनीट का उपयोग करता हूं। सोपूआई के साथ आप वेब परीक्षण लिख सकते हैं और अपेक्षाओं को परिभाषित कर सकते हैं। ये परीक्षण कमांड लाइन पर चलाए जा सकते हैं और परिणाम मानक टेक्स्ट फ़ाइल में लिखे जाएंगे जिन्हें बिल्ड के दौरान व्याख्या किया जा सकता है। –

1

वैसे मैं एमएस परीक्षण में यूनिट परीक्षण लिखना समाप्त करता हूं। प्रत्येक परीक्षण से पहले सेवा असेंबली द्वारा होस्ट की जाती है, और बाद में फट जाती है। निश्चित रूप से यह यूनिट परीक्षण नहीं है, इसलिए purists shudder होगा, लेकिन इसका मतलब यह है कि मैं जितनी बार चाहूं परीक्षण चला सकता हूं।

+1

परंपरागत "सेवा इकाई परीक्षण" के साथ जो सेवा इंटरफेस को सीधे कॉल करते हैं, डोमेन स्तर को मजाक करते हुए, हमारे पास "सेवा स्वयं-होस्ट परीक्षण" भी होते हैं जो इकाई परीक्षण ढांचे में सेवा होस्ट करते हैं लेकिन जो डोमेन स्तर को भी मजाक करते हैं। ये एकीकरण परीक्षण और इकाई परीक्षणों के बीच एक मिश्रण हैं - लेकिन वे साबित करते हैं कि हमारे मार्शलिंग और क्रमबद्धता ठीक से काम कर रही है, कुछ और खींचने के लिए मुश्किल है। –

0

यदि आपको क्लाइंट तर्क का परीक्षण करने की आवश्यकता है: आप सर्वर पर वास्तविक कॉल को रोकने के लिए मॉकिंग/अलगाव फ्रेमवर्क का उपयोग कर सकते हैं और उचित यूनिट टेस्ट लिखने के लिए यूनिट परीक्षण ढांचे का उपयोग कर सकते हैं।

सर्वर तर्क का परीक्षण करना और भी आसान हो सकता है - आपको केवल व्यापार तर्क के लिए कॉल का परीक्षण करना और बाह्य घटकों (यानी डेटाबेस) को कॉल करना है।

क्लाइंट के बीच सर्वर के बीच पूर्ण बातचीत का परीक्षण करने का कोई वास्तविक लाभ नहीं है क्योंकि आप जानते हैं कि डब्ल्यूसीएफ काम करता है बल्कि समर्पित सर्वर/ग्राहकों पर पूरे पर्यावरण का एकीकरण परीक्षण जोड़ता है।

+0

टीडीडी पर्यावरण में लाभ है, और आप अपनी बाइंडिंग –

+0

बदल रहे हैं, इसलिए परीक्षण क्लाइंट तर्क (प्रॉक्सी) परीक्षण कर रहा है और सेवा का परीक्षण कर रहा है, जो विधियों को व्यावसायिक परत विधियों को सही कहते हैं? इसलिए आपको वास्तव में सेवा के लिए 2 सेट और परीक्षण के बच्चों की आवश्यकता है। – PositiveGuy

1

मेरा मतलब यह नहीं था कि साबुनयूआई मूल एचटीपी बाइंडिंग का उपयोग करके उजागर डब्ल्यूसीएफ सेवा के लिए काम नहीं करता है। BasicHttp बाइंडिंग का उपयोग करना काम करेगा क्योंकि यह सेवा एक लीगैक्सी एएसएमएक्स वेब सेवा के रूप में काम करेगी। हालांकि, अगर कोई बाध्यकारी (या एकाधिक बाइंडिंग का उपयोग) को नेट टीसीपी बाइंडिंग में स्विच करना है, उदाहरण के लिए, मुझे नहीं लगता कि साबुनयूआई का उपयोग करके उस सेवा के तरीकों का आह्वान करना अभी भी संभव होगा। जिस परिदृश्य का मैं वर्णन कर रहा हूं वह काफी आम है जिसमें आपके पास अधिकतम इंटरऑपरेबिलिटी के लिए मूल एचटीपी बाइंडिंग एंडपॉइंट का उपयोग करके वेब पर एक डब्ल्यूसीएफ सेवा का खुलासा किया गया है, और netTcp बाइंडिंग (अधिकतम प्रदर्शन के लिए) के रूप में एक और अंतराल केवल आंतरिक रूप से उपयोग किया जाता है।

1

एसओए क्लीनर नामक यह नया टेस्ट क्लाइंट है, मैं आपको इसकी कोशिश करने की सलाह देता हूं। यह डब्ल्यूसीएफ का समर्थन करता है। यहां पाया जा सकता है: http://xyrow.com

+0

क्या आप इसके बारे में और अधिक कह सकते हैं? इसके बारे में क्या अच्छा है? क्या बुरा है –

+0

यह एक .NET अनुप्रयोग है। यह बहुत आसान और हल्का है; किसी भी स्थापना की जरूरत नहीं है। – Clangon

1

मैं 15 दिनों के eval के साथ WcfStorm भाग गया और मैं इसके साथ प्रभावित हूँ। सेवा से जुड़ें और सभी विधियों का खुलासा किया गया है। एक विधि पर क्लिक करें और आप कई परीक्षण मामलों का निर्माण कर सकते हैं। आपके काम करने के बाद आप इन परीक्षणों को बचा सकते हैं (सेवा के साथ एक समाधान फ़ाइल के रूप में मेरा रखेंगे) और जैसे ही आप परिवर्तन करते हैं, आप निरंतर परीक्षण को पूरा करने वाले सभी परीक्षण चला सकते हैं। इसमें एक कमांड लाइन भी है जो आपको अपने निरंतर परीक्षण के लिए अपनी बिल्ड मशीन में एकीकृत करने की अनुमति देनी चाहिए।

यह आयरनपीथन का भी समर्थन करता है ताकि आप उस स्क्रिप्टिंग भाषा के साथ अच्छे होने पर अपने परीक्षण को रिकॉर्ड करने के स्क्रिप्ट को हटाने में सक्षम हो सकें।

0

कमाल WCFStorm, लेकिन मुझे लगता है कि एक स्वतंत्र डेवलपर के लिए बहुत महंगा है।

जैसा कि डारिन ने कहा, मैं भी साबुनू की सिफारिश करता हूं।

लेकिन एक विशेष मामला है, कि जब आप डब्ल्यूसीएफ में आरईएसटी का उपयोग करते हैं और अनुरोध संदेश के रूप में अनुरोध भेजते हैं तो साबुनयू जेएसओएन अनुरोध का समर्थन नहीं करता है।

उस मामले में, आप एक उपकरण मैं यहां पाया उपयोग कर सकते हैं:

WCF RESTful JSON automated testing

+0

क्या आप विशेष मामले क्या हो सकते हैं? –

5

WCFStorm जिस तरह से आप का वर्णन कर रहे हैं परीक्षण करने के लिए उपयोगी है।

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