1
我创建了一个MVC应用程序,并且我已经设置了Roger Martin's sqlite Providers来代替默认提供程序。我很好奇我会如何去测试这些单元。单元测试MVC应用程序中的Sqlite成员提供程序
下面是一个精简的方法,有很多验证,其中只有一个仍然存在。除此之外,我想写测试,以确保如果用户名已被占用,则无法注册,并且可以注册用户名是否空闲(以及其他验证通过)等。
我可以看到单元测试可以确定成功或失败,但不是因特定原因失败,除非我检查输出MembershipCreateStatus参数,但我不确定是否有更好的方法。此外,我需要给对象providerUserKey?任何见解都会非常有帮助。
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
//some validations, and then:
MembershipUser u = GetUser(username, false);
if (u == null)
{
///register user
status = MembershipCreateStatus.Success;
return GetUser(username, false);
}
else
{
status = MembershipCreateStatus.DuplicateUserName;
}
return null;
}
你们是不是单元测试中SQLite的成员资格提供或控制器的代码? – 2009-12-11 15:55:46
现在,SQLite成员资格提供程序。我想确保帐户注册因特定和有效的原因而被拒绝。我还没有开始编写控制器,但是我没有看到为它编写测试的问题。 – splatto 2009-12-11 16:15:19