如何在 Go 專案內寫測試

Go-brown-side.sh 相信大家都知道專案內不導入測試,未來越來越多功能,技術債就會越來越多,接手的人罵聲連連,而寫測試的簡單與否決定專案初期是否要先導入。為什麼專案要導入測試,導入測試有什麼好處,對於團隊而言,導入測試好處實在太多了,底下列了幾點是我個人覺得非常重要的。
  1. 減少 Review 時間
  2. 降低修改程式碼產生的的錯誤
  3. 確保程式碼品質
第一點非常實用,尤其在專案很忙的時候,同事間只有少許的時間可以幫忙看程式碼或討論,如果大家都有寫測試,在時間的壓力下,只要稍微看一下,CI/CD 驗證過無誤,大致上就可以上線了。第二點在於,團隊其他成員需要修改一個不確定的地方,商業邏輯修正可能會造成很大的錯誤,而測試在這時候就發揮效果。最後一點就是程式碼品質,不管是新功能,或者是 Bug,任何時間點都需要補上測試,就算 code coverage 已經很高了,但是只要有任何 bug 就要補測試,測試寫的越多,專案的品質相對會提高。在 Go 語言專案內該如何寫測試了,為什麼專案要導入 Go 語言的原因之一就是『寫測試太簡單』了,底下來介紹如何寫基本的測試。 Continue reading “如何在 Go 專案內寫測試”

Go 語言的 vendor 目錄

Go-Logo_Blue 很多朋友剛入門 Go 語言時,第一個會遇到的問題是,該如何設定專案配置,讓專案可以正常執行,在個人電腦該如何開發多個專案,這邊就會遇到該如何設定 $GOPATH,我在這邊跟大家講個觀念,開發環境只會有一個 $GOPATH,不管團隊內有多少專案,都是存放在同一個 GOPATH,避免每次開專案都要重新設定 $GOPATH,而專案內用到的相依性套件,請各自維護,透過官方提供的 wiki,請選一套覺得好用的來使用吧,沒有最好的工具,找一套適合團隊是最重要的。 Continue reading “Go 語言的 vendor 目錄”