के लिए सबसे पूर्ण मॉकिंग फ्रेमवर्क क्या है, मैं अपने अनुप्रयोगों में एएसपी.NET HttpContext
के लिए नकली प्रतिस्थापन और रैपर के जितना संभव हो उतना व्यापक रूप से खोज रहा हूं। एक व्यापक नकली प्रतिस्थापन संभावित रूप से मेरे एएसपी.NET वेब अनुप्रयोगों की टेस्टेबिलिटी में काफी वृद्धि कर सकता है, बिना किसी भी एमवीसी जैसे अधिक टेस्टेबल फ्रेमवर्क में माइग्रेट करने की आवश्यकता के।HttpContext
सुविधाओं मैं सबसे एक HttpContext
आवरण और नकली ढांचे में देखने में रुचि हूँ में शामिल हैं:
- धारावाहिक सत्र भंडारण (जैसे,
.Session
)। - सीरियलाइज्ड एप्लिकेशन-स्कोप्ड स्टोरेज (उदाहरण के लिए,
.Application
)। - प्रति-अनुरोध आइटम संग्रहण (उदा।,
.Items
)। - एचटीपीआरक्वेट डेटा, जैसे रेफरर्स, अनुरोध यूरी, सर्वर वैरिएबल, पोस्ट डेटा इत्यादि।
- एचटीपी रेस्पॉन्स डेटा, जैसे स्टेटस कोड और सामग्री।
- स्थानीय फ़ाइल रिज़ॉल्यूशन (उदा।
Server.MapPath
) - एप्लिकेशन-रिश्तेदार यूआरएल पथ रिज़ॉल्यूशन के लिए वर्चुअलपाथ उपयोगिता, जो एएसपी.नेट रनटाइम पर निर्भरता है।
- प्रमाणीकरण/प्रमाणीकरण नियमों को सत्यापित करने के लिए पहचान और प्रिंसिपल (उदा।,
.User
)। AllErrors
HttpModule
एस औरGlobal.asax
में त्रुटि समाधान का परीक्षण करने के लिए संग्रह।
मैंने अपना इंटरफ़ेस, रैपर और नकली लिखने पर विचार किया; हालांकि, मुझे विश्वास है कि ऐसा पहले से मौजूद होना चाहिए। नकली ढांचे की विविधता अवशोषित करने के लिए पहली बार टाइमर के लिए थोड़ा जबरदस्त है।
सबसे व्यापक HttpContext
रैपर और नकली क्या है जो आप सुझाएंगे?
ऐसा प्रतीत होता है कि आप सबसे सही हैं। .NET 3।5 'HttpContextBase' पेश करता है, लेकिन इससे पहले, मजाक करना कस्टम रैपर के साथ ही संभव था। मुझे लगता है कि बेहतर स्वचालित कार्यात्मक परीक्षण की सुविधा के लिए एचटीपी कॉनटेक्स्ट के लिए एक अच्छी तरह से डिज़ाइन किए गए नकली रैपर को देखना फायदेमंद होगा। मैं अपनी आँखें बाहर रखूंगा। – kbrimington