6

を使用してNUnit 2.5.10、基本例外タイプを含むライブラリを参照するコードをテストしています。TIBCO.EMS.NamingException、具体的には、他の例外タイプが派生TIBCO.EMS.InvalidNameExceptionTIBCO.EMS.NameNotFoundExceptionます。

TIBCO.EMS.NamingExceptionNUnitのExpectedException属性を使用して、派生するサブクラス化された例外がスローされたことを認識したいと思います。

特定の例外がスローされたことを簡単に検出できます。

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

しかし、私はどういうわけかNUnitにのサブクラスTIBCO.EMS.NamingExceptionがスローされたかどうかを「期待」させたいと思います。

直接試してみても機能しません。

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

何か案は?

4

1 に答える 1

9

NUnit のドキュメントから:

// Allow both ApplicationException and any derived type
Assert.Throws( Is.InstanceOf( typeof(ApplicationException), code );
Assert.Throws( Is.InstanceOf<ApplicationException>(), code );
于 2011-08-16T23:15:35.733 に答える