大家好,
我正在使用xUnit在。net中构建我的测试单元,我试图断言如果某个方法抛出异常。我对异常的确切类型并不感兴趣,只要它继承了某个基异常类即可。我该怎么做?
我已经在Google上搜索了一些方法来做到这一点,但似乎我必须编写自己的类来做到这一点。
这个功能已经存在于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);
}