この単体テストでは、電子メールとユーザー名の重複をチェックする必要があります。別の開発者と話すと、入れ子になった try catch で電子メールとユーザー名が重複していないかどうかを確認する必要があると彼は言いました。私が彼を正しく理解したかどうかはわかりませんが、ここに私が持っているものがあります. 他の開発者は現在利用できないため、確認することはできません. この形式は正しくないと思います。何かアドバイス?
try
{
AsaMembershipProvider prov = this.GetMembershipProvider();
MembershipCreateStatus status;
MembershipUser user = prov.CreateUser("UserX", "12345", "UserX@abc.com", "", "", true, null, out status);
user = prov.GetUser("UserX", false);
var isAuthenticated = prov.ValidateUser(user.UserName, "12345");
Assert.IsTrue(isAuthenticated);
Assert.AreEqual(user.UserName, "UserX");
Assert.AreEqual(user.Email, "userx@abc.com");
try
{
prov.DeleteUser("UserX", true);
user = prov.GetUser("UserX", false);
Assert.AreEqual(null, user);
user = prov.GetUser("UserX", false);
Assert.AreEqual(status, MembershipCreateStatus.Success);
}
catch (Exception ex)
{
LogMessage(ex);
Assert.Fail(ex.Message);
}
prov.DeleteUser("UserX", true);
user = prov.GetUser("UserX", false);
Assert.AreEqual(null, user);
}
catch (Exception ex)
{
LogMessage(ex);
Assert.Fail(ex.Message);
}
}