---
# System prepended metadata

title: Untitled
tags: [單元測試]

---

保哥直播-單元測試快速筆記
https://www.youtube.com/watch?v=8lxTP2e5Uvk&t=674s

什麼叫不能被單元測試?

 
![](https://i.imgur.com/02kAtw1.png)

![](https://i.imgur.com/vYOKh5E.png)

![](https://i.imgur.com/X6f9FHa.png)

![](https://i.imgur.com/eWToxa6.png)

![](https://i.imgur.com/lb7KqWB.png)

![](https://i.imgur.com/HMkJDX6.png)

![](https://i.imgur.com/iX2M5nx.png)

![](https://i.imgur.com/N2Oi8KH.png)

![](https://i.imgur.com/DXQ8Ei4.png)

![](https://i.imgur.com/yh3PELI.png)

![](https://i.imgur.com/gMWmy2O.png)

![](https://i.imgur.com/oUzfjPj.png)

![](https://i.imgur.com/Rwbpx4m.png)

![](https://i.imgur.com/KbsXdQd.png)

![](https://i.imgur.com/leaGQOU.png)

![](https://i.imgur.com/DWZfDUr.png)

![](https://i.imgur.com/CTREAk9.png)

         
  



 
  
 

寫UT的時間比寫功能的時間多很多倍，那UT值得寫嗎
推薦書-單元測試的藝術

保哥：像他專案型公司在客戶沒有給夠預算跟時間，所以要每一個專案都做UT是不太可能的，
講者ANDY：折衷方式，在關鍵點或是比較重要的程式先寫UT，後面多次出現BUG的地方再補

保哥：要一個團隊能把UT持續施行下去，團隊整體coding技術水平的提升很重要，例如不懂DI，或是寫一個UT的時間比寫一個功能的時間多出很多倍，都會讓UT的執行難以持續

保哥補充看法：已經上線穩定跑一段時間的專案，比較沒有做UT的價值，假如是那種長期維護合約的專案，後面寫程式時再慢慢地補上UT就好。

以下是中間的QA
怎麼在測試中對待static method?
怎麼在測試中對待private method? 與Internal Class?

小結論：假如客戶真的沒給足夠的預算與時間，團隊可以先從code review與重構，去對程式品質做保護。


講者以下列出3種，他6年經驗中，部門同事討論過的一些單元測試爭議問題
![](https://i.imgur.com/5l8FKjB.png)

![](https://i.imgur.com/iZzepaX.png)

![](https://i.imgur.com/twyT381.png)
 

 
 

最後QA
何謂整合測試?
單元測試與整合測試差別在哪?

什麼是涵蓋率?不要想可以100%!

保哥：前端很多都是做整合測試，光是HTML DOM的變化就非常多而沒辦法測那部分的code，所以前端要做純單元測試是非常困難的，只是保哥公司只要用Angular，Angular要做單元測試在架構面就已經做非常多設計，架構中對於單元測試大量地使用DI，所以要做單元測試是相對容易很多很多


保哥最後還有分享二件事，
1.國內有寫單元測試的公司真的不高，他覺得實際上可能不到3成，除非像講者這種趨勢科技(富爸爸)這樣大公司比較能推得動每個專案，要顧及公司品牌、產品品質等等，上面老闆比較會願意去推單元測試

2.在政府標案中，還會特別要求要寫單元測試，但是他們認為的單元測試跟我們的單元測試不一樣，他們覺得是一個單元一個單元你人工要給我測過，沒問題再給我，這就是單元測試，然後保哥跟政府的客戶說：你們單元測試是這樣喔?我們是用程式測程式ㄝ，那你要這種嗎?客戶會回答，那是什麼?那我不要!反正我就是不要有bug就對了。

