单元测试
最后更新于
这有帮助吗?
这有帮助吗?
此开源图书由ithaiq原创,创作不易转载请注明出处
测试类型如下,单元测试和API测试属于白盒测试;集成测试、系统测试、UI测试属于黑盒测试
三种单测概念
fake:指为需要测试单元简单模拟了实际运行环境的,确保正常输入和输出即可。
stub:为fake添加预定的数据后,便成为了stub(打桩)。
mock:stub仅仅是包含了预定数据的fake,并不表明状态不能用于断言,但是mock储存了可用于断言的状态。
Go相关单测方式
Benchmark:性能测试
Table Driven Test:表驱动测试
Go Fuzzing:模糊测试(go1.18新加)
Go单测相关库或框架
testify:断言asset很好用
gomock:生成mock打桩代码
sqlmock:校验sql和返回sql数据
gomonkey:动态补丁无需生成代码,可用于针对非接口函数测试
BDD: 测试驱动框架
表驱动测试存在测试用例过多复杂难以维护,不能明确知道每个用例的目的和差别的问题
BDD目标是追求每个测试用例都可以描述、并且用例之间达到复用
goconvery ginkgo