Question

Using NUnit 2.5.10, I am testing some code that references a library containing a base exception type. TIBCO.EMS.NamingException, from which other exception types derive, specifically TIBCO.EMS.InvalidNameException and TIBCO.EMS.NameNotFoundException.

I would like to use NUnit's ExpectedException attribute to recognize when any subclassed exception deriving from TIBCO.EMS.NamingException has been thrown.

I can easily detect when the specific exception has been thrown:

[ExpectedException("TIBCO.EMS.NameNotFoundException")]
       or 
[ExpectedException(Typeof(TIBCO.EMS.InvalidNameException))]

But I would like to somehow make NUnit "expect" whether any subclass of TIBCO.EMS.NamingException has been thrown.

Trying it directly does not work:

[ExpectedException("TIBCO.EMS.NamingException")]
    or
[ExpectedException(typeof(TIBCO.EMS.NamingException))]

Any ideas?

Was it helpful?

Solution

From NUnit documentation:

// Allow both ApplicationException and any derived type
Assert.Throws( Is.InstanceOf( typeof(ApplicationException), code );
Assert.Throws( Is.InstanceOf<ApplicationException>(), code );
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top