【每天推薦一篇文章】有關單元測試的建議
剛剛看到一篇單元測試相關的筆記,對裡面提到的內容連連稱是,馬上轉貼上來給大家:
《Python 工匠》筆記(二)對「單元測試」的看法與建議 - Code and Me
大家都說單元測試好,但到處都看不到。我們很常聽到一些不寫測試的理由:東西很簡單不用寫啦、東西太複雜寫不了啦、沒時間啦…
(沒時間的可以左轉 你就是都不寫測試才會沒時間 )
而這篇的筆記整理了《Python 工匠》裡關於單元測試的五個重要理解
-
寫單元測試不是浪費時間:寫單元測試可以省下的時間主要在把東西改壞 Dedug 的時間,還可以給我們重構的勇氣
-
不要總想著「補」測試:補測試其實代表我們覺得測試是額外的、事後的,但其實我們完全可以邊開發邊寫測試,還可以幫助我們改進設計
-
難測試的程式就是爛程式:當我們覺得很難測試的時候,應該要重構程式碼,而不是降低測試的門檻
-
像應用程式一樣對待測試程式:不要把測試的程式碼當成附屬品,因為測試寫太爛也是一種負債
-
避免教條主義:很多觀點都有狂熱追隨者,例如「只有 TDD 才是真的在寫測試!」。去了解,但不要盲從
每一項在這篇筆記中都有直接好懂的說明,但我個人最喜歡的是「5. 避免教條主義」這項。讓我節錄這篇文章的其中一段:
說起來很奇怪,在單元測試領域有非常多的理論與說法。人們總是樂於發表種對單元測試的見解,在文章、演講以及與同事的交談中,你常常能聽到這些話:
- 「只有 TDD 才是寫單元測試的正確方式,其他都不行!」
- 「TDD 已死,測試萬歲!」
- 「單元測試應該純粹,任何相依都應該被 mock 掉!」
- 「mock 是一種垃圾技術,mock 越多,表示程式越爛!」
- 「只有專案測試覆蓋率達到 100%,才算是合格!」 ……
看到書中的這段,我真的會笑死XDDD —— 因為這個「怪現象」竟是如此的真實。
哪怕還沒有開始寫測試之前,我就已經看過不少這類言論。說真的,這些言論——或者說「信仰」——恐怕或多或少增加了想要入門測試的人,在心理上的門檻。
好像你不把測試做到 100 分、盡善盡美,就乾脆不要寫測試了——我覺得這不是一種健康的姿態。
針對這現象,作者認為:
這些觀點各自都有許多狂熱的追隨者,但我有個建議:你應該了解這些理論,越多越好,但是千萬不要陷入教條主義。
因為在現實世界裡,每個人參與的專案千差萬別,別人的理論不一定適用於你,如果盲目遵從,反而會給自己增加麻煩。
那麼,今天的轉貼就到這邊。我們明天見~
其他文章
哈囉,如果你也有 LikeCoin,也覺得我的文章有幫上忙的話,還請不吝給我拍拍手呦,謝謝~ ;)