2008-08-24 17 views

उत्तर

1

एएसपी.नेट एमवीसी में जाने से पहले अतीत में, मैंने this library का उपयोग किया था फिल हेक ने यूनिट परीक्षण के लिए बनाया है जो एचटीपीएप्लिकेशंस और एचटीपी कॉन्टेक्स्ट का उपयोग करता है। यह बदले में Duck Typing library का उपयोग किया गया।

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

2

अनिवार्य रूप से आपको HttpMplication और HttpContext पर HttpModule की निर्भरता को हटाने की आवश्यकता है, उन्हें एक इंटरफेस के साथ बदलना। आप अपना खुद का IHttp एप्लिकेशन और IHttpContext (IHttpResonse, IHttpRequest, आदि के साथ) बना सकते हैं या @Dale Ragan द्वारा उल्लिखित लोगों का उपयोग कर सकते हैं या System.Web.Abstractions में चमकदार नए लोगों का उपयोग कर सकते हैं जो एएसपीनेट एमवीसी पूर्वावलोकन के साथ बंडल किए गए हैं।

+0

क्या आप मुझे @ डेल रागन के लेख में इंगित कर सकते हैं। पीएस: मुझे ट्विटर पर पहुंच नहीं है – chugh97

+0

मैं वास्तव में नीचे दिए गए उत्तर का जिक्र कर रहा हूं :) – Mike

0

आप एक अलगाव (मॉकिंग) ढांचे का उपयोग कर सकते हैं। मुझे दो टूल्स के बारे में पता है जो आपको किसी भी .NET ऑब्जेक्ट्स को नकली/नकली करने में सक्षम बनाता है - Typemock Isolator और Telerik JustMock मुझे लगता है कि आप Moles का भी उपयोग कर सकते हैं।

उपरोक्त सभी आप किसी भी इंटरफ़ेस को लागू नहीं करते हैं या यहां तक ​​कि एक सार्वजनिक c'tor भी नकली किसी भी .NET ऑब्जेक्ट ईवेंट को नकली करने में सक्षम होंगे।

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