使用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))]
有什么想法吗?
答案 0 :(得分:9)
// Allow both ApplicationException and any derived type
Assert.Throws( Is.InstanceOf( typeof(ApplicationException), code );
Assert.Throws( Is.InstanceOf<ApplicationException>(), code );