我和一位同事正在開始一個新項目並嘗試充分利用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