если цель — протестировать тип исключения и сообщение, можно поступить так:
public static class Expect {
public void ApplicationException(Action action, string expectedMessage) {
try {
action();
Assert.Fail("Application Exception is expected")
}
catch (ApplicationException e) {
Assert.AreEqual(expectedMessage, e.Message);
}
}
}
ну или более обобщенно так —
public void ExceptionOf<T>(Action action, string expectedMessage) where T: Exception {
try {
action();
Assert.Fail("Application Exception is expected")
}
catch (T e) {
Assert.AreEqual(expectedMessage, e.Message);
}
}