我正在寻找为这样的方法编写单元测试:
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 属性具有正确的值?前者对我来说似乎是正确的,因为我应该确保只修改了这两个属性,而其他属性没有被触及。
我希望有些人可以就此发表意见。对于这些类型的情况,是否有要记住的经验法则或模式?