我對TDD相當陌生,我想到的第一個問題是我是否應該對每個開發的組件應用單元測試。我在問,因爲我觀察到單元測試需要很長時間,尤其是在提供了對需求的一些更改時。那麼,您能否提出類似於TDD關於單元測試的最佳實踐?TDD中的單元測試
回答
TDD的簡短描述在three rules表示:
- 你不允許寫任何生產代碼,除非它是使一個失敗的單元測試通過。
- 你不允許再寫一個單元測試,而不是足夠失敗;編譯失敗是失敗的。
- 您不允許再編寫比足夠通過一個失敗單元測試更多的生產代碼。
和較長的描述:http://jamesshore.com/Agile-Book/test_driven_development.html
+1以及必需的:https://www.google.com.au/search?q=the+art+of+unit+testing+pdf – 2012-06-20 05:35:34
TDD意味着測試驅動組件的開發。您首先編寫指定組件行爲的單元測試,然後實現該組件。因此,要回答你的問題:
應適用單元測試,每 開發組件
沒有,因爲單元測試應該已經在開發組件之前被寫入。
測試驅動代碼的開發。 TDD的確全部是關於定義軟件的期望行爲,事實上它全部可測試只是一個好的副作用。
在TDD好文章,請here
只是一個觀察 - 你說
我觀察到,單元測試需要 大量的時間
這是真實的短視圖。但對於將要出現一段時間的代碼,額外的工作可以節省時間。我強調了幾年前我在一個項目上進行單元測試的價值,告訴每個人都會聽,「我們沒有時間跳過這一步。」這是真的。有很多地方會節省時間 - 測試人員將花費更少的時間測試應用程序,通過任何錯誤跟蹤過程踢出錯誤,您將花更少的時間記住幾星期或幾個月後所做的事情,以便修復錯誤,用戶會看到更少的錯誤,這意味着他們會花更少的時間在破壞應用程序上大喊大叫。您將在凌晨2點在手機上花費更少的時間,希望在用戶進入第二天之前能夠修復該應用。
這一切都涉及到經濟學方面。對於任何正在進行生產的代碼,請相信我,您沒有時間跳過此步驟。這會花費你更多的時間和你的公司更多的現金。
如果代碼不會生成,也就是說,它是一個您爲了完成某項任務而編寫的實用程序,或者看看網絡層是如何工作的,您希望調整您爲滿足需求所做的測試量。經驗將有助於指導你在那裏瞭解適量。
所有測試都需要很長時間。 TDD很明顯。寫完後進行測試使其不太明顯。 – 2010-07-13 16:03:51
- 1. ASP.NET的TDD單元測試Webforms
- 2. TDD是否需要單元測試?
- 3. GWT單元測試TDD和工具
- 4. TDD /單元測試 - 確定打破現有測試
- 5. 你如何在TDD中組織你的單元測試?
- 6. TDD/NodeJS中的流測試
- 7. 測試驅動開發(TDD):在Xcode 4中編寫單元測試
- 8. 在Visual Studio(TDD)中構建和運行C++單元測試
- 9. TDD的新手,空字符串的單元測試
- 10. 如何協調單元測試方法和TDD只測試類的接口
- 11. TDD - 先寫測試?
- 12. TDD函數測試
- 13. TDD集成測試
- 14. 在TDD重構之後編寫更多的單元測試
- 15. TDD和小型團隊短期項目的單元測試?
- 16. 單元測試/ TDD有用的設計模式?
- 17. 可用於Delphi和FreePascal的單元測試/ TDD選項
- 18. DBC,AOP,TDD和單元測試目標之間的差異
- 19. ATDD測試與TDD測試的關係
- 20. 我如何測試(TDD)單例類?
- 21. 單元測試與TDD(測試驅動開發)有什麼區別?
- 22. TDD和測試的「誠實」
- 23. 單元測試是否有cakephp插件(用於TDD)?
- 24. 如何使用TDD對此函數進行單元測試?
- 25. 單元測試和TDD,OCUnit與Google工具箱
- 26. 沒有TDD可以做單元測試嗎?
- 27. 在練習TDD(單元測試)時學習OpenGL
- 28. 如何使用TDD單元測試此功能?
- 29. TDD和單元測試,GML Game Maker語言
- 30. 單元測試中的性能測試
我不完全確定這是什麼問題。你能否詳細說明並提出更具體的問題? – 2010-07-10 12:22:50