Hello guys(和gals),
我正在使用xUnit在.NET中构建我的测试单元,并且我试图断言某个方法是否抛出异常。我并不真正对异常的确切类型感兴趣,只要它继承自一些基类异常类。 我该怎么做?
我已经在Google上搜索了一些开箱即用的方法,但似乎我必须编写自己的类才能这样做。
答案 0 :(得分:0)
此功能已经存在于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);
}