I stumbled over this commit message in [WayBack] “extended the TestAttribute with “Expected” property (#181)” which isn’t phrased correctly, but adds a very nice feature.
The feature is about WillRaiseAttribute:
constructor WillRaiseAttribute.Create(AExpectedException: ExceptClass; const AInheritance: TExceptionInheritance);
This allows tests like these:
[WillRaise(EOutOfMemory)] procedure FailMe; [WillRaise(EHeapException, exDescendant)] procedure FailMeToo; [WillRaise(Exception, exDescendant)] procedure FailAny; [WillRaise(EOutOfMemory)] [Ignore('I am not behaving as I should')] procedure IgnoreMeCauseImWrong;
–jeroen