का उपयोग करके मजाक कर रहा है हाय मैं अपने एएसपी.NET MVC2 प्रोजेक्ट पर कुछ यूनिट परीक्षण कर रहा हूं। मैं Moq ढांचे का उपयोग कर रहा हूँ। मेरी LogOnController,फॉर्म प्रमाणीकरण। SetAuthCookie मॉक
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl = "")
{
FormsAuthenticationService FormsService = new FormsAuthenticationService();
FormsService.SignIn(model.UserName, model.RememberMe);
}
FormAuthenticationService कक्षा में, में
public class FormsAuthenticationService : IFormsAuthenticationService
{
public virtual void SignIn(string userName, bool createPersistentCookie)
{
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
}
public void SignOut()
{
FormsAuthentication.SignOut();
}
}
मेरे समस्या मैं कैसे
FormsService.SignIn(model.UserName, model.RememberMe);
इस लाइन को क्रियान्वित करने से बचने कर सकते हैं। या वहां बिना Moq ढांचे उपयोग करते हुए मेरे ASP.Net MVC2 परियोजना को बदलने
FormsService.SignIn(model.UserName, model.RememberMe);
MOQ के लिए किसी भी तरह से है।
एसयूटी (टेस्ट अंडर टेस्ट) - 'लॉगऑन कंट्रोलर' या 'फॉर्म प्रमाणीकरण सेवा' क्या है? यदि यह पूर्व है, तो 'फॉर्म प्रमाणीकरण सेवा' के लिए नकली आपूर्ति की जानी चाहिए और आपको यह सत्यापित करना चाहिए कि उस पर 'साइनइन' विधि' कहा जाता है। उत्तरार्द्ध इकाई परीक्षण के लिए कठिन है क्योंकि इसे एक मौजूदा 'HttpContext' की आवश्यकता होती है जिसमें कुकी जोड़ने के लिए (' HttpResponse')। –
मैं LogOnController का परीक्षण करना चाहता हूं। मैंने FormsService नकल करने की कोशिश की। साइनइन (model.UserName, model.RememberMe); इस तरह से , var formService = नया मॉक <फॉर्म प्रमाणीकरण सेवा>(); लेकिन formervice.SignIn कुछ भी वापस नहीं करता है। मैं उस पंक्ति को निष्पादित करने से कैसे बच सकता हूं या उस पंक्ति को कैसे नकल कर सकता हूं। मुझे नहीं पता कि मोक का उपयोग करके मॉक कैसे करें। – Dilma