抛出验证异常
有时需要在抛出异常时断言。不同的单元测试框架具有不同的约定来断言抛出异常(如 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);
}