我和一位同事正在开始一个新项目并尝试充分利用TDD。我们仍然在搞清楚单元测试的所有概念,并且主要基于其他例子。了解单元测试约束和NUnit语法助手
我的同事最近引起了对NUnit语法助手的问题的质疑,我正在努力解释他们的好处(因为我自己并不真正理解它,除非我的直觉说他们很好!)。下面是一个例子断言:
Assert.That(product.IsValid(), Is.False);
对我来说,这使得完整意义上,我们说,我们期待product.IsValid()
值是false
。我在另一方面同事宁愿我们简单地写:
Assert.That(!product.IsValid());
他对他说,这使得更多的意义,他可以阅读更加容易。
到目前为止,我们唯一可以同意的是,当测试失败时,您可能会获得更有用的输出,但我认为必须有更好的解释。我查了一下关于语法帮助器的一些信息(http://nunit.com/blogs/?p=44),它们是有道理的,但我不完全理解约束的概念,而不是他们'感觉'正确。
我想知道是否有人能够解释为什么我们使用约束的概念,以及为什么他们改进了上面的单元测试例子?
谢谢。
在这里真正复杂的约束使用的示例http://geekswithblogs.net/mrsteve/archive/2012/02/13/writing-readable-unit-tests-clean-code-handbook-agile-software-craftsmanship.aspx – 2013-07-31 16:52:30