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)

介绍:
导入Ginkgo和Gomega包时在包名前加一个[.],这样可以直接使用包中的方法函数,不用再【包名.函数名】
执行文件的时候,可以用go test方法也可以用ginkgo
RegisterFailHandler(Fail): ginkgo通过调用Fail(description string)函数来发出fail信号,然后用RegisterFailHandler() 将Fail函数传递给Gomega,RegisterFailHandler()是连接ginkgo和gomega的唯一途径。
RunSpecs(t *testing.T, suiteDescription string):用于启动测试套件,如果任何一个specs失败,该套件则自动返回失败。

基础知识:
1、Ginkgo使用Describe()来描述这段代码的行为,使用Context()来描述表达该行为在不同的环境下执行(Context没有分割测试用例的能力),一个it就是一个spec即一个测试用例;
2、Ginkgo中使用BeforceEach()来为specs设置状态,并使用It()来指定单个spec,也是一个测试用例,且执行每一个It模块前都会执行一次Describe的BeforeEach和AfterEach,以确保每个Specs都处于原始状态。
3、JustBeforeEach() 模块在所有BeforeEach模块执行之后,It模块执行之前运行,BeforeSuite函数在所有Specs运行前执行, AfterSuite函数在所有Specs运行后执行,不论测试是否失败。
4、使用Gomega中的【Expect()】函数来设置期望

更详细内容请见社区的代码规范及e2e测试_fourierr的博客-CSDN博客golangci-lint静态代码检查工具,是对golint、gofmt的集成,速度更快。1、安装go install github.com/golangci/golangci-lint/cmd/[email protected] run [目录]/[文件]最新的版本是1.42.0,社区使用的是1.38.0,总体来说是规则越来越严,和社区保持一致;Lintersdeadcode,未使用函数和方法的检查;errcheck,未处理错误,例子+1;https://blog.csdn.net/qq_34562093/article/details/123462700

你可能感兴趣的:(Golang笔记,golang,Ginkgo)