我正在使用以下测试方法测试DoingSomething()
方法 -
[TestMethod()]
[ExpectedException(typeof(ArgumentException),"Invalid currency.")]
public void ConvertCurrencyTest_ExhangeRate()
{
try
{
DoingSomething();
}
catch (ArgumentException Ex)
{
}
catch (Exception Ex)
{
Assert.Fail();
}
}
测试结果表明DoingSomething()
没有抛出异常。但它确实抛出了异常。
我在这里想念的是什么?
答案 0 :(得分:5)
您正在使用try / catch中的异常,因此它不会冒泡而被测试捕获。
删除try/catch
并让测试工具处理异常。任何其他异常自然会导致测试失败。
[TestMethod()]
[ExpectedException(typeof(ArgumentException),"Invalid currency.")]
public void ConvertCurrencyTest_ExhangeRate() {
DoingSomething();
}