美文网首页工作生活
Go单元测试小结(方法、框架)

Go单元测试小结(方法、框架)

作者: Jiafu | 来源:发表于2019-07-02 11:59 被阅读0次
  1. 对于第三方package的函数调用,如果该函数可能会出错,且需要覆盖出场景下的代码,那么加封一层,这样必要时我们可以替换自己的函数。
  2. 对于第三方函数的调用,考虑将直接依赖改为接口依赖,这样必要时我们可以新建一个自己的接口实现,这样我们可以随意控制实现的细节。
  3. 可以将第三方的函数调用,通过var = func这种形式来声明,然后就可以通过GoStub库来替换函数。
  4. 对于我们自己编写的方法调用,可以令方法调用一个同等的函数,然后令这个函数用方法3来声明,然后这样我们可以通过替换函数来替换方法。
  5. 内部的各个模块之间,通过接口来调用,以便后续注入不同的接口实现,来达到测试的目的。
  6. 如果要并发测试,那么可以考虑写一个test.py,同时跑多个go test。
  7. 对于内部模块,尽量提供一个xxxxtest包,直接提供打桩功能,另外对于内部模块,尽量对外暴露接口,而不是结构体(实现)。
  8. 个人通常尽量不使用框架来测试代码,如果要用的话,推荐以下几个:
    常见的go test打桩框架:
  • GoStub:替换全局变量、函数、过程
  • monkey:替换函数、方法
  1. 测试文件跟待测试的文件放同一个目录下,名字叫xxx_test.go,包名为xxxx_test。
  2. 运行测试:
go test -cover=true xxxx -coverprofile=out.out 将在当前目录生成覆盖率数据。

配合 go tool cover -html=out.out 在浏览器中打开 HTML 报告。

或者使用 go tool cover -html=out.out -o=out.html

相关文章

  • Go单元测试小结(方法、框架)

    对于第三方package的函数调用,如果该函数可能会出错,且需要覆盖出场景下的代码,那么加封一层,这样必要时我们可...

  • go 单元测试

    单元测试 Go 语言测试框架可以让我们很容易地进行单元测试,但是需要遵循五点规则: 含有单元测试代码的 go 文件...

  • go 用testify搭建完整易用的测试环境

    单元测试 单元测试在大型应用开发中是非常重要的一环。go 自身提供了单元测试框架,但是原生单元测试框架提供的功能太...

  • Go单元测试框架简单使用

    约束: 使用go自身的单元测试框架testing包来写单元测试有如下约束: 单元测试,要导入 testing 包;...

  • 一篇文章让你了解基于Spring的测试

    针对Spring某个类及方法的单元测试,结合单元测试框架(比如JUnit)和Mock的框架(比如EasyMock)...

  • pytest知识点

    一、单元测试框架1.什么是单元测试框架单元测试框架是在自动化测试或者白盒测试中对软件的最小单元(函数、方法)进行测...

  • 005-golang-单元测试

    golang的单元测试 Go语言中自带有一个轻量级的测试框架testing和自带的 go test命令来实现单元测...

  • go语言的单元测试

    Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试,testin...

  • golang 单元测试 UnitTest 覆盖率 基准测试

    [TOC] 单元测试要求 因为golang语言设计,偏向工程性,故go 单元测试对文件名和方法名,参数都有很严格的...

  • unittest单元测试框架小结

    最近用unittest做了一些接口自动化测试和UI自动化测试,但对unittest还只是一知半解,忙里偷闲对它做一...

网友评论

    本文标题:Go单元测试小结(方法、框架)

    本文链接:https://www.haomeiwen.com/subject/volzcctx.html