单元测试 - Nunit 中的经典模型断言和约束模型断言有什么区别



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

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

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

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

Assert.AreEqual("expected", someString);

和(约束)

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

经典模式已经存在了更长的时间,有些人认为它更明确,更容易遵循。

其他人认为,基于约束的方法更接近于你向别人解释约束时所说的方式。

如果您刚刚开始,那么基于约束的断言可能是更好的学习,因为它们是 NUnit 似乎试图前进的方向。 它们也更接近FluentAssertions。 基于约束的断言还更明确地支持通过使用IResolveConstraint接口进行扩展。

但是,您可能应该了解经典断言,因为您遇到代码的不同位置很有可能会根据它们首先使用的内容使用。

尽管语法不同,但它们所做的非常相似,因此如果您理解一组断言,那么来回转换它们非常简单。

最新更新