如何在NUnit中断言不会抛出特定的JsonReaderException?
在NUnit中断言不抛出特定异常(JsonReaderException)
你可以用NUnit的Throws.Not.InstanceOf<T>()约束来实现这个需求,这是专门用来验证代码不会抛出指定类型异常的写法。
正确的断言代码如下:
Assert.That(() => JObject.Parse(json), Throws.Not.InstanceOf<JsonReaderException>());
说明:
- 这个断言会检查委托执行时,不会抛出
JsonReaderException或其子类的异常。 - 如果执行过程中抛出了其他类型的异常(比如
ArgumentNullException),测试依然会通过;只有当抛出JsonReaderException时,测试才会失败,完全符合你“确保代码不会抛出JsonReaderException”的需求。 - 你之前尝试的
Throws.Not.JsonReaderException写法无效,是因为NUnit没有直接提供这种属性化的异常类型约束,必须用InstanceOf<T>来指定具体的异常类型。
内容的提问来源于stack exchange,提问作者furkang68
相关产品推荐
相关产品推荐

