簡體   English   中英

在MSTest中處理單元測試中的預期異常

[英]Handle expected exception in unit test in MSTest

我正在使用以下測試方法測試DoingSomething()方法 -

[TestMethod()]
[ExpectedException(typeof(ArgumentException),"Invalid currency.")]
public void ConvertCurrencyTest_ExhangeRate()
{
    try
    {
        DoingSomething();
    }
    catch (ArgumentException Ex)
    {
    }
    catch (Exception Ex)
    {
        Assert.Fail();
    }
}

測試結果表明, DoingSomething()沒有拋出異常。 但它確實拋出了異常。

我在這里想念的是什么?

您正在使用try / catch中的異常,因此它不會冒泡而被測試捕獲。

刪除try/catch並讓測試工具處理異常。 任何其他異常自然會導致測試失敗。

[TestMethod()]
[ExpectedException(typeof(ArgumentException),"Invalid currency.")]
public void ConvertCurrencyTest_ExhangeRate() {       
    DoingSomething();        
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM