多年來,我一直對TDD感興趣,但有一兩件事情沒有點擊。我非常肯定,這是大多數人在嘗試時常見的想法。 「這本書中的例子非常好,但是我的代碼比這個複雜得多,我從來沒有一個程序能夠完成一件事,它會調用另外三個程序,並且會調用其他三個程序,並且這些程序會從DB ... bla bla bla「。一段時間以來,我在SOLID上發現了一些視頻(任何人都被卡住了,認爲TDD會很棒,但是......然後......在SOLID上找到一些視頻,相信我)。每一點都變得稍微混亂一些,直到最後,所有事情都已經到位,包括我如何考慮測試代碼和TDD。關於SOLID/TDD的問題
我當然有很多舊的代碼,這不是這樣寫的,但我對此很好,因爲我確實看到了它應該如何的更好的想法。每當我做任何事情時,我都可以把它拿出來,並且正確地做到這一點(即使這意味着要切除需要更新的方法的一小部分,給它一個自己的類,然後調用它。)
它有幾個問題,我想知道我也許能找到那個答案,或者是有沒有一個標準。
多少應進行測試?
我的假設是它的全部。很多我的函數將採用輸入參數,並運行一個存儲過程我的猜測如何測試,將有一組給定的輸入參數,被稱爲正確的存儲過程,參數是否正確。經常這將是顯而易見的(有時會有數字輸入將被轉換爲逗號分隔的字符串)。如果沒有別的,這個例子,雖然測試可能沒有那麼有價值,但將是文檔。
我該如何命名?
這是發展的老問題。如果該類被命名爲喜歡的方法是,UpdateEmployee
,還是應該有一大堆的er
類(EmployeeUpdater
,EmplyeeGetter
等)
如何IOC一般如何處理?
現在仍然沒有問題,我正在創建接口,實現,設置IOC等。 雖然我可以看到,但很快我會在IOC中使用頁面和頁面以及接口/類映射頁初始化方法,或者我會想象它分裂成部分,用一個方法調用一些其他方法,每個方法註冊類(通過命名空間或某物)。這是如何一般工作,或有更聰明管理方式?
這些值得在這裏對SO 3個獨立的問題,但即使在這種情況下,每一個問題是本身過於寬泛,是一個非常適合#1。 – Steven