关于异常处理:在MS C#单元测试中,如何断言发生了ArgumentException?

In MS C# Unit Testing, how to Assert that an ArgumentException occured?

如果我们做了

1
throw new ArgumentException("Cannot do that");

你如何断言这个ArgumentException发生在微软的测试框架中?


您可以使用[ExpectedException]属性修饰单元测试:

1
2
3
4
5
6
[ExpectedException(typeof(ArgumentException))]
[TestMethod]
public void Foo()
{
    throw new ArgumentException("foo");
}

不要问关于声明异常消息:-)