我有一個相當大的MVC3應用程序,其中我已經開發了一個小的第一階段,沒有編寫任何單元測試,目標是特別檢測重構引起的迴歸等問題。我知道這樣說有點不負責任,但到目前爲止,並沒有真正需要這麼做,只需進行非常簡單的CRUD操作,但我希望能夠繼續採用TDD方法。如何將現有MVC3應用程序的開發轉換爲TDD方法?
我已經基本完成了第一階段,我已經寫了行動和視圖,其中成員可以註冊爲作者並創建課程模塊。現在我有更復雜的階段來實施課程的消費者和他們的受訓者必須註冊並完成課程,學術進展跟蹤,作者反饋和財務影響。我覺得如果沒有一個穩定的單元測試策略是不明智的,根據以往的經驗,我認爲TDD將非常適合我未來在這裏的開發工作。
是否有已知的程序將開發工作「轉換」爲TDD,並將單元測試引入已編寫的代碼?我不需要幼兒園一步一步的東西,而是一般的戰略指導。
順便說一句,我已經在這個問題上包含了web開發和MVC標籤,因爲我相信這些開發領域可以對項目文物的單元測試需求產生重大影響。如果您不同意並希望刪除其中的任何內容,請發表評論,說出原因。
TDD是關於設計驅動開發的,與單元測試不一樣。請參閱http://bradwilson.typepad.com/blog/2009/04/its-not-tdd-its-design-by-example。html爲您現有的代碼和所有新的計劃代碼編寫單元測試使用TDD(設計示例) – RickAndMSFT 2012-02-17 05:34:33
@ Rick.Anderson-at-Microsoft.com,謝謝,但我明白其中的差異。 TDD確實使用單元測試作爲開發的驅動因素,TDD和單元測試都是我的問題的一部分。 – ProfK 2012-02-17 08:59:24
@ Rick.Anderson-at-Microsoft.com我將堅持TDD的原意,即「測試驅動開發」。我在XP團隊工作了好幾年。我們對此進行了很多討論,並意識到在某些情況下,系統的大部分更改不是新代碼,而是修改現有代碼。 TDD在這裏同樣重要。 TDD經常產生單元測試,因爲人們通常會嘲笑依賴來測試代碼單元。 TDD確認了一個設計(這在你的腦海中)。由於TDD,您不一定擁有良好的設計。我不會將TDD的過程與設計的過程混淆。 – bloudraak 2012-02-17 18:48:11