簡體   English   中英

xUnit中的Legacy代碼中的ExpectedException

[英]ExpectedException in xUnit for Legacy Code

正如其他文章中廣泛指出的那樣,xUnit中不存在ExpectedException。 但是,是否存在某種東西可以幫助將傳統測試作為實質上的polyfill移植到xUnit?

我相信,隨着對.Net Core 2的加速采用(如在.Net Standard 2中所看到的那樣),我們將看到越來越多的測試從其他框架移植到.Net Core工具中最容易獲得的支持。 雖然ExpectedException可能不是最佳實踐,但是具有遺留的權宜之計(即使是單獨的NuGet程序包)也將大大簡化移植測試的過程,因為這是每次測試中為數不多的轉換之一,無法通過測試完成簡單的搜索替換。 而且,當您要移植數百個單元測試時,“這可能會引起問題”似乎不是一個令人滿意的答案。

我可能誤解了您的問題,但是您可以通過執行以下操作來測試xUnit中的異常:

[Fact]
public void ExceptionTest()
{
    // Arrange
    // Act
    Action act = () => throw new Exception();

    // Assert
    Assert.Throws<Exception>(act);
}

通過添加xUnit Assert.Throws來允許轉換每個ExpectedException測試。

暫無
暫無

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

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