使用NUnit 2.5.10
,我正在测试一些代码,这些代码引用包含基本异常类型的库。 TIBCO.EMS.NamingException
,从中派生其他异常类型,特别是TIBCO.EMS.InvalidNameException
和TIBCO.EMS.NameNotFoundException
。
我想使用NUnit的ExpectedException属性来识别何时引发了从TIBCO.EMS.NamingException
派生的任何子类异常。
我可以轻松检测到何时引发了特定异常:
[ExpectedException("TIBCO.EMS.NameNotFoundException")]
or
[ExpectedException(Typeof(TIBCO.EMS.InvalidNameException))]
但是我想以某种方式使NUnit“期望”是否已抛出
TIBCO.EMS.NamingException
的任何子类。直接尝试不起作用:
[ExpectedException("TIBCO.EMS.NamingException")]
or
[ExpectedException(typeof(TIBCO.EMS.NamingException))]
有任何想法吗?
最佳答案
// Allow both ApplicationException and any derived type
Assert.Throws( Is.InstanceOf( typeof(ApplicationException), code );
Assert.Throws( Is.InstanceOf<ApplicationException>(), code );
关于unit-testing - 如何获取NUnit的ExpectedException属性以检测异常的基类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7086020/