2009-11-02 21 views
4

使用TDD/BDD方法開發應用程序時應該得到多少粒度?特別是關於Rails應用程序。TDD/BDD特別適用於Rails應用程序

你會測試每個單獨的領域,然後正確的遷移,將使其通過?所以每個領域都會有自己的遷移?你會測試什麼,以確保該領域是他們的?

我真的想讓我的腦袋纏繞在哪裏開始以及如何粒度得到。我開始着手並凍結,因爲我不知道如何測試每一件小事。

我見過的大多數例子都以驗證爲例。我知道之前有更多的代碼被寫入,我只是不知道如何測試最基本的東西,比如「應該有一個名字字段」。

任何幫助,非常感謝。

謝謝!

回答

1

我不會鑽那麼遠。事實上,我通常不會測試我的遷移,並且測試獲取者和設置者肯定不值得花時間(通常)。堅持測試,教你關於系統,並表達代碼的非平凡的功能要求。

至於從哪裏開始:選擇一個你知道如何測試的需求 - 一個沒有外部依賴關係,一個路徑是絕對清晰的。編寫測試來描述所需的行爲,實施它並重構代碼,以消除在實施過程中可能添加的任何醜陋。在完成列表中的一些功能之後,您可能會發現一些模糊的功能正在成爲焦點,因爲您已經完成了他們所需的構建塊/依賴關係。

一本好書是進入上測試實踐更詳細比AWDRRails的方式The RSpec Book,β其中電子形式提供。

1

您是否在使用TDD/BDD的任何工具,例如Cucumber

他們有一些關於using Cucumber with Rails的好信息。

基本上寫你的功能,然後腳手架,使該功能通過它的測試。當您想要向模型添加其他字段時,首先更新該功能,讓其失敗,然後編寫遷移並更新視圖以使測試通過。

+0

所以我們在這裏說零代碼生成吧?我的意思是,如果您創建了一個帶有3個字段的腳手架,那麼現在您已經編寫了代碼,無需測試了嗎? – Phil 2009-11-02 13:53:37

+1

測試首先寫入。他們會失敗,因爲沒有任何代碼可以讓他們通過。然後,生成允許測試通過的腳手架。一旦測試通過,重複。 – Trevor 2009-11-02 13:57:01

+1

我認爲用TDD,你寫一個測試一分鐘的事情,然後你寫足夠的代碼,使其通過。爲一堆代碼編寫測試,然後使用一個生成器來讓它們通過似乎違抗了這一點。 – Phil 2009-11-02 14:09:49

相關問題