我目前正在測試一個Active Directory
獲取Active Directory中的用戶的方法。當我作爲參數傳遞的字符串使用非法字符時,我的測試方法應該查找拋出的異常。這裏是我的測試方法:ArgumentException不拋出C#測試
public List<ADProperties> SearchUserByName(string name)
{
try
{
//Active Directory properties loading here
if(condition)
{
//Condition throws ArgumentException because of invalid AD Filter using characters
return null;
}
}
catch(ArgumentException ae)
{
Console.WriteLine("AE caught : "+ae.ToString());
}
}
我應該精確的是,當異常發生在這個精確點打斷了我的程序就行了。 這裏是我的測試方法:
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public void SearchUserByNameIllegalCharsTest()
{
string generateChars = new string('*', 10);
List<ADProperties> test3 = adManager.SearchUserByName(generateChars);
//ArgumentException is thrown on this call
}
即使ArgumentException
被拋出,我的測試還是失敗了,說方法沒有拋出預期的異常。我在這裏沒有看到什麼? 感謝您的幫助。
因爲你捉內'SearchUserByName',測試方法毫不知情的例外呢? –