2011-12-15 19 views
11

मुझे TestExecution कक्षा मिली, जो घटनाओं का एक समूह उजागर करता है जो अविश्वसनीय रूप से सहायक होगा। हालांकि, मुझे एमएसडीएन के दस्तावेज के अलावा इसका कोई संदर्भ नहीं मिल रहा है, और दस्तावेज किसी भी संकेत प्रदान नहीं करता है कि इसका उपयोग कैसे किया जाता है, या परीक्षण परीक्षण के दौरान मुझे किसी उदाहरण का संदर्भ कैसे मिल सकता है।एमएसटीएस्ट में टेस्टएक्सक्यूशन क्लास का उद्देश्य क्या है?

.NET परावर्तक के साथ खोजना सहायक नहीं था - TestExecution एक अन्य वर्ग, UnitTestExecution द्वारा कार्यान्वित किया गया है, जो आंतरिक है। मुझे किसी भी माइक्रोसॉफ्ट में किसी भी कक्षा में कोई अन्य संदर्भ नहीं मिला। विज़ुअल स्टूडियो। क्वालिटीटूल। * पुस्तकालय, न तो आगे के कार्यान्वयन के रूप में और न ही किसी अन्य वर्ग में संपत्ति प्रकार के संदर्भ।

मैं इन घटनाओं तक पहुंच कैसे प्राप्त कर सकता हूं?

+0

एक अमूर्त वर्ग की तरह दिखता है, इसलिए आपको इसे से प्राप्त करना होगा और कुछ अमूर्त तरीकों/गुणों को लागू करना होगा। – Bernard

+0

जरूरी नहीं है ... मुझे लगता है कि यह अधिक संभावना है कि ढांचे द्वारा अमूर्तता का उपयोग किया जाता है। चूंकि यह एक सार्वजनिक वर्ग है, और चूंकि यूनिटटेस्ट एक्सेक्यूशन नहीं है, ऐसा लगता है कि यह अमूर्तता को उजागर करने के पैटर्न का पालन करता है, लेकिन कार्यान्वयन नहीं। आम तौर पर, अबास्ट्रक्शन के उदाहरण (जैसे टेस्टकॉन्टेक्स्ट संपत्ति के साथ, जहां टेस्टकॉन्टेक्स्ट भी एक अमूर्त वर्ग है) का संदर्भ प्राप्त करने का एक तरीका है, लेकिन मैं इसे खोजने में सक्षम नहीं हूं। –

+0

यह उन स्थितियों में से एक जैसा लगता है जहां "लेखक से पूछना" सबसे अच्छा होगा। – Bernard

उत्तर

10

एक कस्टम TestExtensionExecution लागू करते समय एक TestExecution उदाहरण प्रदान किया जाता है। यह Initialize विधि प्रदान करता है, जिसे आप परीक्षण ईवेंट की सदस्यता लेने के लिए ओवरराइड कर सकते हैं।

यह आमतौर पर एमएसटीएस्ट में एक कस्टम परीक्षण विशेषता के कार्यान्वयन का हिस्सा है।

संपादित अपने स्वयं के परीक्षण एक्सटेंशन बनाने के लिए एक नई विशेषता है कि Microsoft.VisualStudio.TestTools.UnitTesting.TestClassExtensionAttribute से निकला है, जो एक सार आप GetExtension() विधि के माध्यम से एक TestExtensionExecution प्रदान करने के लिए आवश्यकता होती है वर्ग है बनाने के साथ शुरू करते हैं।

अपने परीक्षण तरीकों में से एक को अपनी विशेषता लागू करें और आप आप भी एक ITestMethodInvoker लागू करने के लिए किया है कि

नोट (अपने TestExtensionExecution कार्यान्वयन विशेषता द्वारा वापस अंदर) परीक्षण के दौरान उन घटनाओं की सदस्यता के लिए सक्षम होना चाहिए जो आपको विधि पर आपूर्ति की गई TetMethodInvokerContext.TestMethodInfo संपत्ति से बनाने में सक्षम होना चाहिए।

+1

आप इन एक्सटेंशन में से किसी एक को कैसे उपयोग करने के लिए कॉन्फ़िगर करते हैं? –

+0

मेरी इच्छा है कि यह जानकारी एमएसडीएन पर एमएसटीएटी दस्तावेज का हिस्सा पहले से ही हो। –

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