0
我必須在本單元測試中檢查重複的電子郵件和用戶名。與另一位開發人員交談時,他說我應該檢查重複的電子郵件地址和用戶名是否嵌套。我不知道我是否正確理解他,但這是我的。其他開發人員目前不在,所以我不能要求驗證。我認爲這種格式是不正確的。有什麼建議?在單元測試中檢查重複的電子郵件和用戶名
try
{
AsaMembershipProvider prov = this.GetMembershipProvider();
MembershipCreateStatus status;
MembershipUser user = prov.CreateUser("UserX", "12345", "[email protected]", "", "", 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, "[email protected]");
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);
}
}
你的問題有點含糊,但是*是一個嵌套的try catch(try/catch中的try/catch),如果這真的是你所要求的。您的實施有問題嗎?錯誤/意外結果? – tnw
我打算在這裏做兩個假設:1)用戶正在存儲在數據庫中。 2)用戶表在電子郵件上具有唯一的索引。您應該使用同一封電子郵件兩次創建一個用戶,並期望您的數據庫客戶端能夠通過唯一索引引發適當的異常。 – allonhadaya
正如我向他解釋的那樣,當嵌套的try catch發現重複的電子郵件時應該拋出一個異常,然後測試應該繼續,但它會停在那裏。 – user216672