0
大家好(和gals),測試任何派生異常
我使用xUnit在.NET中構建我的測試單元,並試圖斷言某個方法是否引發異常。我並不真正對異常的確切類型感興趣,只要它從一些基本的異常類繼承而來。 我該怎麼做?
我在谷歌搜索了一些開箱即用的方法,但似乎我不得不寫我自己的類來這樣做。
大家好(和gals),測試任何派生異常
我使用xUnit在.NET中構建我的測試單元,並試圖斷言某個方法是否引發異常。我並不真正對異常的確切類型感興趣,只要它從一些基本的異常類繼承而來。 我該怎麼做?
我在谷歌搜索了一些開箱即用的方法,但似乎我不得不寫我自己的類來這樣做。
此功能已存在於xunit.net(v2-beta)中,但它是try-catch塊來簡單地解決當前穩定版本(v1)上的問題。
[Fact]
public void Test()
{
try
{
// some test logic....
Assert.True(false, "Exception should be thrown.");
}
catch
{
}
}
這是另一種方式。
[Fact]
public void AnotherTest()
{
var exception = Record.Exception(() =>
{
/*test logic..*/
});
Assert.IsAssignableFrom<Exception>(exception);
}