Я только что закончил реализацию базового членства asp в своем проекте MVC, и я собираюсь написать несколько тестов.У меня были некоторые начальные проблемы с издевательством над провайдером, но теперь это отсортировано.Очевидно, что по мере того, как провайдер подвергается насмешке, данных там нет, и вы не можете добавлять какие-либо данные, но профиль не может быть напрямую смоделирован, поскольку они создаются каждый раз, когда требуется профиль пользователя.Я не уверен, как подходить к их тестированию, поскольку (очевидно), когда вызывается профиль, он возвращает ноль.
Например:
При использовании DI вводится мой репозиторий:
public AccountMembershipService(MembershipProvider provider)
{
_provider = provider ?? Membership.Provider;
}
И давайте возьмем, к примеру, метод создания пользователя
public MembershipCreateStatus CreateUser(string userName, string password, string email, string passwordQuestion, string passwordAnswer)
{
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
if (String.IsNullOrEmpty(email)) throw new ArgumentException("Value cannot be null or empty.", "email");
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, passwordQuestion, passwordAnswer, true, null, out status);
if (status == MembershipCreateStatus.Success)
{
UserProfile profile = UserProfile.GetProfile(userName);
profile.IPAddress = "0.0.0.0";
profile.Save();
}
return status;
}
.CreateUser работает отлично (что касается насмешек), но когда дело доходит до GetProfile, очевидно, что профиль не существует, поэтомуэто просто ошибки.Любые идеи о том, как я мог бы подойти к тестированию этого?
Я смотрю на это уже пару часов, любая помощь будет ДЕЙСТВИТЕЛЬНО оценена !!