Sto scrivendo un provider di profili personalizzato, ma intendo ancora utilizzare il predefinito AspNetSqlMembershipProvider come provider di appartenenza. Metodo miei GetAllProfiles() nel mio fornitore di profilo assomiglia a questo:Mocking Membership
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 }
Come faccio a deridere la chiamata Membership.GetUser() in modo che io possa scrivere i test per questo metodo? Qualche suggerimento o esempio? Grazie.
Sì, stavo pensando di usare TypeMock o Moq, ma non ho visto alcun esempio di questo particolare scenario. Giocherò con un'iniezione mentre suggerivi di vedere come funziona. Grazie. –