Wednesday 15 April 2015

Some unit tests failed when migrating project from asp.net mvc 1.0 to asp.net mvc 2 beta -


जब मैं स्टीव सैंडरसन के प्रो asp.NET MVC फ्रेमवर्क से एम्पल 1.03 एमवीसी 2 बीटा से नमूना स्पोर्टस्टोर ऐप चला गया , सबकुछ ठीक काम करता है - 2 यूनिट परीक्षणों को छोड़कर।
दोनों पर त्रुटि संदेश है:
टेस्ट.कार्टकंट्रोलरटिस्ट्स.वैललेगटस्टमप्रणाली:
सिस्टम .अबर्टनल एक्सडेस्टेशन: मान को अनिर्धारित नहीं किया जा सकता।
पैरामीटर का नाम: संदर्भ

मुझे यह संदेह है क्योंकि संस्करण 2 में डिफॉल्ट मॉडल बाइंडरर डेटाएनेटेशन का समर्थन करता है, क्योंकि NUnit से स्टैक कॉल ट्रेस ने मुझे डिफ़ॉल्ट मॉडेबल बिन्डर में कुछ समस्याओं के बारे में बताया था। कोई भी विचार मैं इसे कैसे ठीक कर सकता हूं?
संपादित करें
समस्या का समाधान करने के लिए Moq का उपयोग करने की कोशिश की, लेकिन यह काम नहीं करता। यहां कोड है:

  var अनुरोध = नया Moq.Mock & lt; HttpRequestBase & gt; (); अनुरोध .सेटअप (आर = & gt; आर.एचटीटीपी मेथ)। रिटर्न ("पोस्ट"); Var मॉक एचटीटीपीकॉन्टेक्स्ट = नया मोक। मॉक एंड एलटी; एचटीटीपीटीन्टेक्सबाज़ & gt; (); MockHttpContext.Setup (c = & gt; c.Request)। रिटर्न (request.Object); नियंत्रक कंटेक्स्ट = नया नियंत्रक कंटेक्स्ट (नकल एचटीटीपी कॉन्टेक्स। ऑब्जेक्ट, नया रूटाडेटा (), नया मोक। मॉक एंड लेफ्टिब्स; कंट्रोलरबेस & gt; ऑब्जेक्ट);  

विधि मैं परीक्षण कर रहा हूँ केवल पोस्ट सबमिट करें क्या मुझे अपने परीक्षणों में "पोस्ट" डालना ठीक है?

इसे एएसपी.नेट में काम करने के लिए एमवीसी 2 आपको एक डमी नियंत्रक कंटैन्टेक्स बनाना होगा और इसे अपने यूनिट परीक्षण के आंतिकरण (या "सेटअप" या "व्यवस्थित करें") अनुभाग में अपने नियंत्रक पर सेट करना होगा।

यहां एक उदाहरण है कि कैसे एक डमी बनाने के लिए Moq लाइब्रेरी की सहायता से नियंत्रक कंटेंट:


No comments:

Post a Comment