nunit-core team mailing list archive
-
nunit-core team
-
Mailing list archive
-
Message #02780
[Bug 958770] Re: Add Assert.Throws<TEx>( Func<object> ) for properties testing
** Project changed: nunitv2 => nunit-3.0
--
You received this bug notification because you are a member of NUnit
Core Developers, which is the registrant for NUnit Framework.
https://bugs.launchpad.net/bugs/958770
Title:
Add Assert.Throws<TEx>( Func<object> ) for properties testing
Status in NUnit 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/nunit-3.0/+bug/958770/+subscriptions
References