Nunit中Classic和Constraint Model Assertions有什么区别?

时间:2015-06-19 04:11:08

标签: unit-testing nunit assert assertion

我正在通过阅读文档来学习Nunit-2.6.3。我对此有些疑惑。

经典模型和约束模型断言之间有什么区别?

哪种断言模式是最好的,为什么?

1 个答案:

答案 0 :(得分:6)

主要区别在于语法。这是(经典):

之间的区别
Assert.AreEqual("expected", someString);

和(约束)

Assert.That(someString, Is.EqualTo("expected"));

经典模式已经存在更长时间,有些人认为它更明确,更容易理解。

其他人认为,如果您向其他人解释约束,那么基于约束的方法更接近您可能会说限制的方式。

如果你刚刚开始,那么可能基于约束的断言是更好的学习,因为它们是NUnit似乎试图进入的方向。它们也更接近{{3} }。基于约束的断言还通过使用IResolveConstraint接口对扩展提供了更明确的支持。

然而,您可能会对经典断言有所了解,因为您遇到代码的不同位置很可能会根据他们先使用的内容而使用。

虽然语法不同,但他们所做的非常相似,所以如果你理解了一组断言,那么来回转换它们就非常简单了。