Golang之Ginkgo、Gomega测试框架
命令:
Bootstrapping a Suite(cd path/to/books ? ginkgo bootstrap)
Adding Specs to a Suite(ginkgo generate book)
Execute Test(go test或ginkgo)
介紹:
導(dǎo)入Ginkgo和Gomega包時(shí)在包名前加一個(gè)[.],這樣可以直接使用包中的方法函數(shù),不用再【包名.函數(shù)名】
執(zhí)行文件的時(shí)候,可以用go test方法也可以用ginkgo
RegisterFailHandler(Fail): ginkgo通過(guò)調(diào)用Fail(description string)函數(shù)來(lái)發(fā)出fail信號(hào),然后用RegisterFailHandler() 將Fail函數(shù)傳遞給Gomega,RegisterFailHandler()是連接ginkgo和gomega的唯一途徑。
RunSpecs(t *testing.T, suiteDescription string):用于啟動(dòng)測(cè)試套件,如果任何一個(gè)specs失敗,該套件則自動(dòng)返回失敗。
基礎(chǔ)知識(shí):
1、Ginkgo使用Describe()來(lái)描述這段代碼的行為,使用Context()來(lái)描述表達(dá)該行為在不同的環(huán)境下執(zhí)行(Context沒(méi)有分割測(cè)試用例的能力),一個(gè)it就是一個(gè)spec即一個(gè)測(cè)試用例;
2、Ginkgo中使用BeforceEach()來(lái)為specs設(shè)置狀態(tài),并使用It()來(lái)指定單個(gè)spec,也是一個(gè)測(cè)試用例,且執(zhí)行每一個(gè)It模塊前都會(huì)執(zhí)行一次Describe的BeforeEach和AfterEach,以確保每個(gè)Specs都處于原始狀態(tài)。
3、JustBeforeEach() 模塊在所有BeforeEach模塊執(zhí)行之后,It模塊執(zhí)行之前運(yùn)行,BeforeSuite函數(shù)在所有Specs運(yùn)行前執(zhí)行, AfterSuite函數(shù)在所有Specs運(yùn)行后執(zhí)行,不論測(cè)試是否失敗。
4、使用Gomega中的【Expect()】函數(shù)來(lái)設(shè)置期望
更詳細(xì)內(nèi)容請(qǐng)見(jiàn)社區(qū)的代碼規(guī)范及e2e測(cè)試_fourierr的博客-CSDN博客golangci-lint靜態(tài)代碼檢查工具,是對(duì)golint、gofmt的集成,速度更快。1、安裝go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.38.0golangci-lint run [目錄](méi)/[文件]最新的版本是1.42.0,社區(qū)使用的是1.38.0,總體來(lái)說(shuō)是規(guī)則越來(lái)越嚴(yán),和社區(qū)保持一致;Lintersdeadcode,未使用函數(shù)和方法的檢查;errcheck,未處理錯(cuò)誤,例子+1;https://blog.csdn.net/qq_34562093/article/details/123462700
總結(jié)
以上是生活随笔為你收集整理的Golang之Ginkgo、Gomega测试框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 写了4年博客,我终于也出了一本书。
- 下一篇: Linux基本操作——VI和VIM