के साथ WinForms/CompositeUI GUI का परीक्षण करना मुझे एक सी # डेस्कटॉप एप्लिकेशन (CompositUI/WinForms) मिला है। यह एप्लिकेशन SmartClient का उपयोग कर एक webservice से जोड़ता है। मेरा काम SpecFlow और White frameworks का उपयोग करके इस एप्लिकेशन को परीक्षण (रीट्रोफिट) परीक्षण करना है। जीयूआई का परीक्षण करने के लिए, मुझे webservice कॉल का नकल करने की आवश्यकता है। जिस वर्ग से जुड़ता है वह स्प्रिंग.net के माध्यम से इंजेक्ट किया जा रहा है। मेरा कार्य परीक्षण के दौरान webservice कॉल का नकल करने में सक्षम होने वाले एप्लिकेशन का परीक्षण करना है, जिसका अर्थ है कि, मेरा परीक्षण कोड मेरे मॉक के नियंत्रण में होना चाहिए। समस्या: GUI प्रारंभ करने वाली विधि बस उस थ्रेड पर नियंत्रण वापस नहीं कर रही है जिसने इसे बुलाया है। नतीजतन, हम जीयूआई और मोजे को नियंत्रित नहीं कर सकते हैं।SpecFlow, White, Spring और MS Test
तो सवाल इस बिंदु पर मैं कर रहे हैं:
यह संभव है (और यदि ऐसा है तो - यह कैसे करना है) अलग थ्रेड में जीयूआई शुरू करने और नियंत्रण वापस परीक्षण धागा करने के लिए?
जीयूआई परीक्षण चलाने की अन्य संभावनाएं क्या होंगी, जो मुझे इंजेक्शन पर नियंत्रण रखने की अनुमति देगी?
यह प्रश्न का उत्तर नहीं देता है। वह यूनिट परीक्षण प्रस्तुति तर्क के बारे में बात नहीं कर रहा है, वह वास्तव में परीक्षण करना चाहता है बटन को क्लिक करें और टेक्स्ट बॉक्स में टाइप करें। आप ui (एमवीवीएम, एमवीपी, कोड पीछे) कैसे बनाते हैं, इस तरह के परीक्षण के लिए अप्रासंगिक है। – Andy
इसके अलावा Winforms समर्थित है, लेकिन इसमें बड़े बदलाव नहीं होंगे। डब्ल्यूपीएफ विंडोज डेस्कटॉप ऐप के लिए नए डेस्कटॉप ऐप्स (वे दूर नहीं जा रहे हैं) और एक्सएमएल/विनर्ट या जीत/जेएस ऐप्स बनाने का पसंदीदा तरीका होगा। – Andy
@ एंडी ने प्रौद्योगिकी को स्पष्ट करने के लिए संशोधित उत्तर दिया। –