我不確定「先測試」是如何工作的,我想聽聽有關何時以及爲何採取這種方法的爭論。在執行之前沒有/要寫測試嗎?
我聽說在編寫單行執行程序之前,經常建議編寫測試和模擬事情。但是,我不禁認爲它不適合所有情況。例如,假設我正在製作一個原型,而且我不確定所有事情如何運作。所以我只是開始找到我認爲需要的每個步驟的示例並將它們投入到我的代碼中。最後,我證明了我的理論,並沒有那麼長時間。這實質上是「我的考驗」。這不是一個單元測試,但它是一個測試(很可能它是一個控制檯應用程序)。
這幾乎是我的工作方式。我想想我想做什麼,並嘗試去做。如果它有效,我最終會回去編寫單元測試,這樣我就可以陷入迴歸。這與你「應該做的」不同嗎?
人們還可以爭辯說,原型是實現的一部分,因此,當你已經有了一些簡單的API在其上運行的基本測試應該只發生。這樣,您首先會發現您希望如何使用您的系統,這是TDD的優勢之一。 – Franck 2008-11-26 01:53:18