I have discovered that these seem to be the two main ways of testing for exceptions:
Assert.Throws(()=>MethodThatThrows());
[ExpectedExc
I prefer assert.throws since it allows me to verify and assert other conditions after the exception is thrown.
[Test]
[Category("Slow")]
public void IsValidLogFileName_nullFileName_ThrowsExcpetion()
{
var a = new MyTestObject();
// the exception we expect thrown from the IsValidFileName method
var ex = Assert.Throws(() => a.IsValidLogFileName(""));
// now we can test the exception itself
Assert.That(ex.Message == "Blah");
}