测试 ASP.NET 成员资格提供程序在创建用户时重复电子邮件
本文关键字:用户 创建 电子邮件 程序 NET ASP 成员 测试 | 更新日期: 2023-09-27 18:36:30
I' 尝试行使成员资格和角色提供程序方法。到目前为止一切顺利,但我目前被困在创建带有提交的重复电子邮件的用户上。
[Test]
public void can_create_user_with_given_duplic_Email()
{
MembershipCreateStatus status = new MembershipCreateStatus();
provider.CreateUser("FirstUser", _Password, _Email, null, null, true, Guid.NewGuid(), out status);
provider.CreateUser("SecondUser", _Password, _Email, null, null, true, Guid.NewGuid(), out status);
Assert.AreEqual(MembershipCreateStatus.DuplicateEmail, status);
}
如您所见,我期待来自会员资格创建状态的重复电子邮件。
运行此测试实际上得到的错误消息如下
can_create_user_with_given_duplic_Email has failed:
Expected: DuplicateEmail
But was: ProviderError
只是提到那个提供商。CreateUser() 工作没有问题。
您可以使用
requiresUniqueEmail="false"
来允许重复的电子邮件。
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear/>
<add name="DefaultMembershipProvider"
type="System.Web.Providers.DefaultMembershipProvider,
System.Web.Providers, Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
connectionStringName="SqlConnection"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="MyApp"/>
</providers>
</membership>