丟擲驗證異常
有時需要在丟擲異常時斷言。不同的單元測試框架具有不同的約定來斷言丟擲異常(如 NUnit 的 Assert.Throws 方法)。此示例不使用任何特定於框架的方法,只是在異常處理中構建。
[Test]
public void GetItem_NegativeNumber_ThrowsArgumentInvalidException
{
ShoppingCart shoppingCartUnderTest = new ShoppingCart();
shoppingCartUnderTest.Add("apple");
shoppingCartUnderTest.Add("banana");
double invalidItemNumber = -7;
bool exceptionThrown = false;
try
{
shoppingCartUnderTest.GetItem(invalidItemNumber);
}
catch(ArgumentInvalidException e)
{
exceptionThrown = true;
}
Assert.True(exceptionThrown);
}