单元测试

此开源图书由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

最后更新于

这有帮助吗?