Sunday 15 August 2010

c# - How to access JsonResult data when testing in ASP.NET MVC -


मेरे पास यह कोड C # mvc नियंत्रक में है:

  [HttpPost] सार्वजनिक कार्रवाई हटाएं हटाएं ( स्ट्रिंग रन आईडी) {if (runId == "" | runId == null) {return this.Json (नया {error = "Null or empty params"}); } {Int userId = (int) सत्र ["UserId"] का प्रयास करें; Int रन = कन्वर्ट.ToInt32 (runId); CloudMgr क्लाउड = नया CloudMgr (सत्र); बादल। डिलीट करें (यूजरआइल्ड, रन); इसे वापस। जेसन (नया {सफलता = सच}); } पकड़ (अपवाद पूर्व) {यह return.Json (नया {error = ex.ToString ()}); }}   

मैं यह देख रहा हूं कि यह रिक्त है या नहीं, मैं कैसे अपने जेसन "त्रुटि" फ़ील्ड को नियंत्रक में प्रवेश कर सकता हूं?

  [TestMethod] सार्वजनिक शून्य DeleteWrongParam () {WhatIfController नियंत्रक = नया WhatIfController (); नियंत्रक.कंट्रोलरकॉन्टेक्स्ट = टेस्ट यूटिल्स। कंटेटमॉक्सेसन कंट्रोलर कॉन्टैक्ट ()। कंट्रोलर कंसल्टेंट के रूप में ऑब्जेक्ट; JsonResult परिणाम = नियंत्रक। DeleteWhatIf (शून्य) के रूप में JsonResult;   

आश्वस्त करें। IsNotNull (परिणाम.डेटा। आतंक); मैं क्या करना चाहूंगा। कोई विचार? धन्यवाद।

आप इस तरह से उपयोग कर सकते हैं, परिणाम ऑब्जेक्ट परिभाषा की उम्मीद होगी तो सफलता के मामले में, आपका सफलता ध्वज TRUE अन्यथा गलत होगा और अगर झूठे तो आपको त्रुटि संदेश के साथ त्रुटि प्रॉपर्टी को अपडेट किया जाना चाहिए।

  JsonResult jsonResult = oemController.List () के रूप में JsonResult; JavaScriptSerializer serializer = नया JavaScriptSerializer (); परिणाम परिणाम = सीरियललाइजर। डायरेरिअलाइज़ & lt; परिणाम & gt; (serializer.Serialize (jsonResult.Data)); सार्वजनिक वर्ग के परिणाम {सार्वजनिक बाल की सफलता; सार्वजनिक स्ट्रिंग त्रुटि; }    

No comments:

Post a Comment