मैं एक कस्टम प्रोफाइल प्रदाता लिख रहा हूं, लेकिन मैं अभी भी अपने सदस्यता प्रदाता के रूप में डिफ़ॉल्ट AspNetSqlMembershipProvider का उपयोग करना चाहता हूं। मेरे GetAllProfiles() मेरी प्रोफ़ाइल प्रदाता में विधि इस प्रकार है:मॉकिंग सदस्यता
1 public override ProfileInfoCollection GetAllProfiles(ProfileAuthenticationOption authenticationOption, int pageIndex, int pageSize, out int totalRecords)
2 {
3 // Get the profiles
4 IQueryable<Profile> profiles = _profileRepository.GetAllProfiles();
5
6 // Convert to a ProfileInfoCollection
7 ProfileInfoCollection profileInfoCollection = new ProfileInfoCollection();
8 foreach (Profile profile in profiles)
9 {
10 MembershipUser user = Membership.GetUser(profile.UserId);
11
12 string username = user.UserName;
13 bool isAnonymous = false;
14 DateTime lastActivity = user.LastActivityDate;
15 DateTime lastUpdated = profile.LastUpdated;
16
17 ProfileInfo profileInfo = new ProfileInfo(username, isAnonymous, lastActivity, lastUpdated, 1);
18
19 profileInfoCollection.Add(profileInfo);
20 }
21
22 // Set the total number of records.
23 totalRecords = profiles.ToList().Count;
24
25 return profileInfoCollection;
26 }
मैं Membership.GetUser() कॉल कैसे नकली है ताकि मैं इस विधि के लिए परीक्षण लिख सकते हैं? कोई सुझाव या उदाहरण? धन्यवाद।
हाँ, मैं TypeMock या Moq उपयोग करने के बारे में सोच रहा था, लेकिन मैं इस विशेष परिदृश्य के लिए किसी भी उदाहरण नहीं देखा है। मैं एक इंजेक्शन के साथ खेलूँगा जैसा कि आपने यह देखने के लिए सुझाव दिया कि यह कैसे काम करता है। धन्यवाद। –