答案 0 :(得分:6)
主要区别在于语法。这是(经典):
之间的区别Assert.AreEqual("expected", someString);
和(约束)
Assert.That(someString, Is.EqualTo("expected"));
经典模式已经存在更长时间,有些人认为它更明确,更容易理解。
其他人认为,如果您向其他人解释约束,那么基于约束的方法更接近您可能会说限制的方式。
如果你刚刚开始,那么可能基于约束的断言是更好的学习,因为它们是NUnit似乎试图进入的方向。它们也更接近{{3} }。基于约束的断言还通过使用IResolveConstraint
接口对扩展提供了更明确的支持。
然而,您可能会对经典断言有所了解,因为您遇到代码的不同位置很可能会根据他们先使用的内容而使用。
虽然语法不同,但他们所做的非常相似,所以如果你理解了一组断言,那么来回转换它们就非常简单了。