如何获得nunit的ExpectedException属性来检测异常的基类?



使用NUnit 2.5.10,我正在测试一些引用包含基本异常类型的库的代码。TIBCO.EMS.NamingException,由TIBCO.EMS.InvalidNameExceptionTIBCO.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))]

任何想法?

来自NUnit文档:

// Allow both ApplicationException and any derived type
Assert.Throws( Is.InstanceOf( typeof(ApplicationException), code );
Assert.Throws( Is.InstanceOf<ApplicationException>(), code );

最新更新