Every time I learn an easier way to do something, I'm glad I learned it, but I feel like an idiot for not finding it sooner. Here's a perfect example. Here's the hard way to check for an expected exception in a VSTS unit test:
/// <summary> /// Test for an expected exception - the hard way /// </summary> [TestMethod] public void TestForExceptionWorse() { bool caughtErr = false; try { MyClass.MethodThatThrowsException(); } catch (SpecificExceptionToCatch) { caughtErr = true; } Assert.IsTrue(caughtErr, "Expected SpecificExceptionToCatch, but none was thrown."); }
It turns out there's an easier way to do this:
/// <summary> /// Test for an expected exception - the easy way /// </summary> [TestMethod, ExpectedException(typeof(SpecificExceptionToCatch), "Expected SpecificExceptionToCatch, but none was thrown.")] public void TestForExceptionBetter() { MyClass.MethodThatThrowsException(); }