要测试是否有东西抛出,例如ArgumentException
,我可以这样做:
Assert.Throws<ArgumentException>(() => dog.BarkAt(deafDog));
我怎样才能清楚地检查
ParamName
是否正确?还有一个额外的问题:或者你也许会建议根本不要测试这个? 最佳答案
找到了一条非常清晰的路(但是如果有人有更好的路,请告诉我!)
var e = Assert.Throws<ArgumentException>(() => dog.BarkAt(deafDog));
Assert.That(e.ParamName, Is.EqualTo("otherDog"));
Facepalm…