要测试是否有东西抛出,例如ArgumentException,我可以这样做:

Assert.Throws<ArgumentException>(() => dog.BarkAt(deafDog));

我怎样才能清楚地检查ParamName是否正确?还有一个额外的问题:或者你也许会建议根本不要测试这个?

最佳答案

找到了一条非常清晰的路(但是如果有人有更好的路,请告诉我!)

var e = Assert.Throws<ArgumentException>(() => dog.BarkAt(deafDog));
Assert.That(e.ParamName, Is.EqualTo("otherDog"));

Facepalm

09-27 04:39