I have a unit test that is failing because a System.ArgumentException
is being thrown, even though I am expecting it and it's deliberate behaviour - what have I missed?
[Test]
[ExpectedException(typeof(ArgumentException), ExpectedMessage = "Seconds from midnight cannot be more than 86400 in 010100712386401000000012")]
public void TestParsingCustomReferenceWithInValidSecondsFromMidnight()
{
// I am expecting this method to throw an ArgumentException:
CustomReference.Parse("010100712386401000000012");
}
I've also tried without the ExpectedMessage
being set - no difference.
Have you tried the assertion syntax?
Assert.Throws<ArgumentException>(
() => CustomReference.Parse("010100712386401000000012"),
"Seconds from midnight cannot be more than 86400 in 010100712386401000000012"
);
Is the expected message correct? Is that the exact same message that CustomReference.Parse(string) throws? For example, it is not what is being displayed in the NUnit console.
I wouldn't know another reason why this would not work. What version of NUnit are you using?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With