我正在努力將單元測試集成到我工做的團隊的開發過程當中,而且有一些懷疑論者。 有什麼好的方法可讓團隊中持懷疑態度的開發人員相信單元測試的價值? 在個人具體狀況下,咱們將添加單元測試,由於咱們添加功能或修復了錯誤。 不幸的是,咱們的代碼庫不適合簡單的測試。 前端
我已屢次玩過單元測試,但我仍然相信,鑑於個人狀況,這是值得的。 數據庫
我開發網站,其中許多邏輯涉及建立,檢索或更新數據庫中的數據。 當我試圖「模擬」數據庫進行單元測試時,它已經很是混亂,彷佛有點無心義。 api
當我編寫關於業務邏輯的單元測試時,從長遠來看它歷來沒有真正幫助過我。 由於我主要在項目上工做,因此我傾向於直觀地知道哪些代碼區域可能會受到我正在處理的事情的影響,我會手動測試這些區域。 我想盡快爲個人客戶提供解決方案,單元測試一般彷佛是浪費時間。 我列出了手動測試並本身走過它們,隨時隨地勾選它們。 框架
我能夠看到,當一個開發團隊正在開發一個項目並更新彼此的代碼時,這多是有益的,但即使如此,我認爲若是開發人員具備高質量,良好的溝通和編寫良好的代碼一般應該足夠。 函數
我是一名維護工程師,負責一個記錄不完整,可怕且代碼量大的代碼庫。 我但願編寫代碼的人編寫了單元測試。
每次我作出更改並更新生產代碼時,我都懼怕我可能會由於沒有考慮某些條件而引入錯誤。
若是他們編寫測試,那麼對代碼庫的更改將更容易,更快。(同時代碼庫將處於更好的狀態)。 單元測試
我認爲單元測試在編寫必須持續多年的api或框架以及由原始編碼器之外的人使用/修改/演化時證實很是有用。 測試
幾年前我發現了TDD,而且已經使用它編寫了我全部的寵物項目。 我估計TDD項目花費大體相同的時間,由於它須要一塊兒牛仔,但我對最終產品的信心加強,我沒法幫助你得到成就感。 網站
我也以爲它改善了個人設計風格(更多面向界面,以防我須要一塊兒模擬的東西),而且,做爲頂部的綠色帖子寫,它有助於「編碼便祕」:當你不知道什麼寫下一個,或者你面前有一項艱鉅的任務,你能夠寫小。 編碼
最後,我發現到目前爲止TDD最有用的應用是在調試中,只是由於你已經開發了一個詢問框架,你能夠利用它來刺激項目以可重複的方式產生bug。 spa
[我有一點讓我沒法看到上面]
「每一個人都進行單元測試,他們不必定意識到這一點 - 事實」
想想,你編寫一個函數來解析一個字符串並刪除換行符。 做爲一個新手開發人員,您能夠經過在Main()中實現它來從命令行運行一些案例,或者將視覺前端與按鈕組合在一塊兒,將您的函數綁定到幾個文本框和一個按鈕,而後查看怎麼了。
這是單元測試 - 基本和很是合理,但你測試了一些代碼的代碼。
你寫的東西更復雜。 當您拋出一些案例(單元測試)並調試代碼並進行跟蹤時,它會拋出錯誤。 你在經歷時會看到價值觀,並決定它們是對仍是錯。 這在某種程度上是單元測試。
這裏的單元測試其實是採起這種行爲,將其形式化爲結構化模式並保存,以便您能夠輕鬆地從新運行這些測試。 若是你寫一個「正確的」單元測試用例而不是手動測試,它會花費相同的時間,或者你經驗豐富的時候可能更少,而且你能夠一次又一次地重複
我不知道。 不少地方不作單元測試,但代碼質量很好。 微軟確實進行了單元測試,但比爾蓋茨在他的演講中給出了藍屏。