का उपयोग करते समय ASP.NET MVC 3 प्रमाणीकरण का परीक्षण कैसे करें मैं अपने AccountController
का परीक्षण करना चाहता हूं।सदस्यता
Membership.CreateUser(model.Email, model.Password, model.Email, null, null, true, null, out createStatus);
वेब अनुप्रयोग में मैं एक CustomMembershipProvider
जो मैं web.config का उपयोग कर सेट का उपयोग करें: समस्या यह है कि रजिस्टर विधि में मैं उपयोगकर्ता बनाने के लिए अगली पंक्ति का उपयोग करें। मानक यूनिट परीक्षण सदस्यता वर्ग में मानक SqlMembershipProvider
में। और मेरे CustomMembershipProvider
नहीं कि मैं अपने ऐप में उपयोग करता हूं।
मैं इकाई परीक्षण संदर्भ में सदस्यता कैसे स्थापित कर सकता हूं? मेरा मतलब यह है कि इसे web.config फ़ाइल पढ़ने के बाद इसे एएसपी नेट सेट के रूप में प्रोग्रामेटिक रूप से सेट करना है।
मैं पहले से ही उपयोगकर्ता प्रबंधन डेटा परत का मज़ाक उड़ाने के लिए इंटरफ़ेस का उपयोग करता हूं लेकिन मैं सोच रहा था कि इस मामले में इंटरफ़ेस से बचने का कोई तरीका है या नहीं। इकाई परीक्षण में सदस्यता के नकली कार्यान्वयन को स्थापित करने में सक्षम होने के लिए।
public void RegisterTest()
{
IUsersManager repository = new Tests.Data.UsersManager();
AccountController target = new AccountController(repository);
//be able to set Membership underlying provider
Membership.Provider = new MockMembershipProvider();
}
'AspDotNetMembershipProvider' इंटरफ़ेस को लागू नहीं करना चाहिए? 'पब्लिक क्लास AspDotNetMembershipProvider की तरह: IMembershipProvider {... ' – marapet
ओह, निश्चित रूप से यह होना चाहिए। ठीक किया गया, धन्यवाद :) –
'सदस्यता' वर्ग स्थिर है ... लेकिन अंतर्निहित प्रदाता एएसपी रनटाइम द्वारा सेट किया गया है ... और मैं सोच रहा था कि मैं इसे –