nunit-core team mailing list archive
-
nunit-core team
-
Mailing list archive
-
Message #02756
[Bug 958770] Re: Add Assert.Throws<TEx>( Func<object> ) for properties testing
** Changed in: nunitv2
Status: New => Triaged
** Changed in: nunitv2
Importance: Undecided => Wishlist
--
You received this bug notification because you are a member of NUnit
Developers, which is subscribed to NUnit V2.
https://bugs.launchpad.net/bugs/958770
Title:
Add Assert.Throws<TEx>( Func<object> ) for properties testing
Status in NUnit V2 Test Framework:
Triaged
Bug description:
Sometimes an object is in a state that causes reading its properties
to throw exception. For example, an object might be disposed, and will
throw InvalidOperationException().
To test for such behavior, one would write
var obj = CreateDisposedObject();
#pragma warning disable 168
// Assuming Name cannot be accessed after disposing
Assert.Throws<InvalidOperationException>(() => { var v = obj.Name; });
#pragma warning restore 168
Having pragmas and a temp variable is clearly inconvenient, and instead can be remedied with this overload:
public static T Throws<T>(Func<object> code) where T : Exception
{
return Assert.Throws<T>(() => { var v = code(); });
}
As a result, our code can now be written as:
var obj = CreateDisposedObject();
Assert.Throws<InvalidOperationException>(() => obj.Name);
Much more concise and self evident.
Thank you!
To manage notifications about this bug go to:
https://bugs.launchpad.net/nunitv2/+bug/958770/+subscriptions
References