2009-11-26 89 views
2

我剛剛開始掌握BDD和RSpec,而我真正遇到的一件事是弄清楚我應該如何徹底地進行測試。RSpec測試應該如何徹底?

我只是不理解我的測試應該如何細化仍然有用,但不是雙倍的開發時間。

這只是一個偏好問題嗎?或者有什麼應該測試的通用標準?

回答

5

這裏有幾個要考慮的因素。

  1. 對於最重要的功能和最有可能中斷的情況,規格覆蓋範圍應該是最大的。
  2. 規格應表達開發人員的意圖。不要爲您或其他人稍後可能更改的瑣碎事物編寫規範。
  3. 測試行爲不執行。你應該能夠改變一個類的內部實現並且仍然通過規範。這使得重構更容易。
  4. 任何時候你修復錯誤添加規格,以防止錯誤的迴歸。

我覺得將測試/規格視爲安全網很有幫助。如果另一個開發者(或我自己)打破了我花時間工作的某些東西,我想要一個規範失敗。我不希望他們花很多時間去改變那些並不重要的事情。我也不想禁止他們改進應用程序,因爲在編寫代碼時測試對我來說不重要的規範。