В настоящее время я разрабатываю приложение asp.net mvc 2, которое использует аутентификацию по умолчанию SqlMembershipProvider. Я реализовал метод контроллера, который считывает ProviderUserKey текущего пользователя, вызывая Membership.GetUser().ProviderUserKey
. Теперь я пытаюсь написать некоторые методы тестирования для этого контроллера.Mocking a MemberhipUser
Чтобы избавиться от зависимостей на статическом классе Membership, я создал тонкую оболочку и сделал мой контроллер зависит от соответствующего интерфейса:
public interface IStaticMembershipService {
MembershipUser GetUser();
void UpdateUser(MembershipUser user);
}
До сих пор все работает, но для того, чтобы блок -тестируйте контроллер, мне все же нужно высмеять метод GetUser()
этого интерфейса и вернуть объект MembershipUser, содержащий свойство ProviderUserKey. Каков самый простой способ издеваться над таким объектом?
Я использую moq как насмешливый фреймворк.
Большое спасибо, создавая макет класса MembershipUser отлично. – Simon 2010-11-24 09:05:54