簡體   English   中英

更靈活的 Assert.ThrowsException?

[英]More flexible Assert.ThrowsException?

MSTest 現在允許您通過以下方式測試某段代碼是否引發了某種異常類型:

Assert.ThrowsException<MyException>(() => foo.Bar());

但是,我需要一個更靈活的異常測試; 我不僅需要測試異常的類型,還要檢查它的消息是否以某個字符串開頭(而不是匹配確切的異常字符串)。 有沒有辦法用 MSTest 做到這一點? 如果沒有,對我來說最好的方法是什么? 是否有另一個測試框架可以更好地處理這個問題?

理想情況下,Assert 會接收在拋出的異常中傳遞的第二個 func,這個 func 可以測試異常,但它可以返回 true 或 false 以指示斷言是成功還是失敗。

var ex = Assert.ThrowsException<MyException>(() => foo.Bar());
Assert.IsTrue(ex.Message.StartsWith("prefix"));

暫無
暫無

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

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