Я ищу писать тесты для такого метода, как этот:тестирования объекта на сохранить
public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer)
{
ISPMembershipUserDao userDao = GetISPMembershipUserDao();
if (ValidateUser(username, password))
{
SPMembershipUser user = userDao.GetUserByUserName(username);
user.PasswordQuestion = newPasswordQuestion;
user.PasswordAnswer = newPasswordAnswer;
userDao.Save(user);
return true;
}
return false;
}
Это довольно прямолинейный метод для тестирования. Я использую рамки Rhino Mocks. Но один аспект заставил меня расспросить себя. Я блокирую объект DAO и его метод сохранения, и мне интересно, как сильно я должен проверять объект пользователя, который передается методу сохранения. Должен ли я утверждать, что каждый объект этого объекта, как я ожидаю? Или я должен только утверждать, что свойства PasswordQuestion и PasswordAnswer имеют правильные значения? Первое кажется мне правильным, поскольку я должен убедиться, что эти два свойства были изменены, а остальные не были затронуты.
Я надеялся, что некоторые люди могут высказать свое мнение по этому поводу. Есть ли правило большого пальца или шаблон, чтобы иметь в виду эти типы ситуаций?