文章同步發佈於https://kevinyay945.com/ironman2022/day25
我們現在已經透過OAuth2.0的方式拿到access_token了,那接下來我們就要來撰寫上傳到pcloud的程式了
需求是
那我們這次希望可以透過測試的方式來進行開發,透過這樣的開發,我們可以單獨先寫一支小的程式,將功能全部設定完成後,再將這個程式併入原先的系統中,如此一來就能達到既有範例程式碼,也可以達到不會因為要測試一個小小的功能,就要將完整的程式整段跑起來
而這次我要使用的測試框架是選用Ginkgo
會選擇這套的原因是因為這套的操作邏輯跟表達測試的過程我比較喜歡
當然,使用一套新的套件,第一步就是先閱讀Getting Start
可以看到他需要先執行
go install github.com/onsi/ginkgo/v2/ginkgo
go get github.com/onsi/gomega/...
來進行安裝,緊接著跟著執行
ginkgo bootstrap
這段內容會在你執行的路徑下產生一個將go原生的testing與ginkgo串接的功能,如此,就能讓原先的go的測試能夠順利執行
緊接著我們要建立第一個希望的test_file
ginkgo generate pcloud
如此會產生一個pcloud_test.go的檔案
緊接著,我們可以在裡面寫上我們的第一個測試
package main_test
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
var _ = Describe("PCloud", func() {
It("First Test", func() {
Expect("hello").Should(Equal("world"))
})
})
接下來就可以執行測試的內容了,只要執行
go test ./...
就可以看到以下內容
另外,如果你使用的是VScode可以安裝這個套件https://marketplace.visualstudio.com/items?itemName=joselitofilho.ginkgotestexplorer
如果你是jetbrain用戶,可以安裝這個套件
https://plugins.jetbrains.com/plugin/17554-ginkgo
可以對於執行測試更有幫助的