使用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 documentation:

// 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/

10-13 06:25