鮑勃大爺:單元測試中單元是多小?
“單元測試”中的“單元”一詞通常僅表示“小”。該詞沒有一致的定義。一些TDDer稱它們為微測試以強調其微小性。我更喜歡它是“程式設計師測試”,因為使用TDD,它們是由程式設計師為程式設計師編寫的。
眾說紛紜:
banq注:鮑勃大爺將單元解釋指向了人,而不是業務領域本身,這是一種思路,但也可能是搗糨糊:
Mathias Verraes:軟體設計中,越小越好,粒度越細越好往往是一種壞建議
在OOP中,單元測試不是通用的定義,它是透過單個函式/方法測試單個路徑。我知道在函數語言程式設計中可能有所不同,但是我知道的大多數OOP開發團隊都使用上面的定義。
同意。“單元”與“整合”之間的區分是人為的,不會造成混亂。最終,它不如面向程式碼的測試和麵向使用者的測試有用。
我不同意。“單元”一詞代表無法進一步分解的結構。TDD的整體思想是協助徹底分解系統。
您可以將單元定義為小,中或大。在TDD中,單元應該很小,在OOP中,您可以在團隊中達成一致。我認為小型單元有助於跟上維護和重構的步伐。節省重寫測試。
它應該意味著事務。
恕我直言,如果它跨越流程邊界,則不是單元測試。一旦這樣做,它就在執行至少兩個軟體單元,因此不能稱為單元測試。
我一直以為它的意思是“僅測試單個程式碼單元”,因為……沒有依賴關係(否則將是整合測試)或儘可能少的依賴(Rails中的ActiveRecord物件,它們是隨身攜帶的,但是這並不意味著我們必須在這裡進行資料庫測試)。
單元是自己有目的的最小的獨立邏輯,無論是函式還是簡單的類。
“程式設計師測試”雖然不那麼引人注目,但在傳達重要部分(測試物件是誰)方面做得更好。他們回答了“您構建程式碼正確了嗎?”這個問題。測試術語確實非常混亂,但最終,測試的受眾才是關鍵
相關文章
- 鮑勃大爺:SOLID概念解釋Solid
- 單元測試:單元測試中的mockMock
- 鮑勃大爺:為何選擇Clojure?
- 測試 之Java單元測試、Android單元測試JavaAndroid
- java中的單元測試Java
- 單元測試-【轉】論單元測試的重要性
- golang單元測試Golang
- 單元測試真
- iOS 單元測試iOS
- python 單元測試Python
- 前端單元測試前端
- Flutter 單元測試Flutter
- 單元測試 Convey
- 單元測試工具
- 聊聊單元測試
- 十五、單元測試
- Go單元測試Go
- SpringBoot單元測試Spring Boot
- 單元測試,只是測試嗎?
- Junit單元測試—MavenMaven
- 單元測試框架 mockito框架Mockito
- 單元測試與MockitoMockito
- Source Generator 單元測試
- 單元測試?即刻搞定!
- 聊聊前端單元測試前端
- 單元測試基礎
- JavaScript單元測試框架JavaScript框架
- 單元測試 -- mocha + chaiAI
- React元件單元測試React元件
- Spring Boot 單元測試Spring Boot
- Vue單元測試探索Vue
- Google 單元測試框架Go框架
- 首次在WebAPI中寫單元測試WebAPI
- .NET 專案中的單元測試
- 單元測試-一份如何寫好單元測試的參考
- springboot 多模組下的單元測試配置Spring Boot
- 前端測試:Part II (單元測試)前端
- 鮑勃大爺:物件是更關注行為,資料庫表則是簡單的資料結構,if/else/switch有使用依據物件資料庫資料結構