我和一位同事正在开始一个新项目并尝试充分利用 TDD。我们仍在弄清楚单元测试的所有概念,并且到目前为止主要基于其他示例。
我的同事最近对 NUnit 语法助手的观点提出了质疑,我正在努力解释它们的好处(因为我自己并不真正理解它,除了我的直觉说它们很好!)。这是一个示例断言:
Assert.That(product.IsValid(), Is.False);
对我来说,这完全有道理,我们说我们期望 的product.IsValid()
值为false
。另一方面,我的同事希望我们简单地写:
Assert.That(!product.IsValid());
他对他说这更有意义,他可以更容易地阅读。
到目前为止,我们唯一能达成共识的是,当前者的测试失败时,你可能会得到更有帮助的输出,但我认为必须有更好的解释。我查找了一些关于语法助手的信息(http://nunit.com/blogs/?p=44),它们是有道理的,但除了它们“感觉”正确之外,我并不完全理解约束的概念.
我想知道是否有人可以解释为什么我们使用约束的概念,以及为什么他们改进了上面的单元测试示例?
谢谢。