golang基础-编写单元测试

简介: golang基础-编写单元测试

Go测试


Go有一个内建的测试指令go test以及testing包,联合给出一个最小但完整的测试体验,标准工具链同时包含性能测试和基于语句的测试。

我这一次打算用GolandIDE来进行单元测试


单元测试的特性


第一个也是唯一的参数必须是t *testing.T

函数名称以Test开头,紧接着以大写字母开头的单词或短语。

通常被测试的方法会长这样 TestValidateClient

调用t.Error或者t.Fail来表示错误(例子中调用t.Errorf来提供更多细节)

t.Log可以用来提供无失败的调试信息

测试代码必须保持在一个命名为something_test.go的文件中,例如:addition_test.go


虽然我写到这了,事实上应该放在同目录下面,比如测试alarm_utils.go就应该写成alarm_utils_test.go


开始测试


测试文件代码类似下面

package main
import "testing"
func TestSum(t *testing.T) {
    tables := []struct {
        x int
        y int
        n int
    }{
        {1, 1, 2},
        {1, 2, 3},
        {2, 2, 4},
        {5, 2, 7},
    }
    for _, table := range tables {
        total := Sum(table.x, table.y)
        if total != table.n {
            t.Errorf("Sum of (%d+%d) was incorrect, got: %d, want: %d.", table.x, table.y, total, table.n)
        }
    }
}

添加一个Configurations,如下

aHR0cHM6Ly9jb2RpbmczbWluLm9zcy1hY2NlbGVyYXRlLmFsaXl1bmNzLmNvbS9jb2RpbmczbWluLzIwMjAtMDMtMDMtMDUzMjUwLmpwZw.png

当然了,你也可以选文件夹,我这里选的是一个文件,选文件夹他会自动查找符合规则的测试文件。


然后Run就是了,还可以Debug


引用


golang基础-编写单元测试

相关文章
|
5月前
|
NoSQL 测试技术 Linux
Golang 单元测试合集整理,(我最常用 gomonkey)欢迎收藏
Golang 单元测试合集整理,(我最常用 gomonkey)欢迎收藏
|
9月前
|
测试技术 Go
Go 单测入门篇:Golang 单元测试基本使用
Go 单测入门篇:Golang 单元测试基本使用
|
10月前
|
NoSQL Cloud Native 数据可视化
Golang 单元测试合集整理,(我最常用 gomonkey)欢迎收藏
无论写什么样的语言,单元测试都是必不可少的,它可以极大的提高我们的代码质量,减少各种低级错误和 bug
279 0
|
测试技术 Go
Golang:testing单元测试的使用示例
Golang:testing单元测试的使用示例
59 0
Golang:testing单元测试的使用示例
|
Java 大数据 测试技术
大数据之java基础之单元测试
大数据之java基础之单元测试
90 0
大数据之java基础之单元测试
|
存储 IDE Java
Java SE基础知识详解第[19]期—单元测试、反射、注解、动态代理
Java SE基础知识详解第[19]期—单元测试、反射、注解、动态代理
 Java SE基础知识详解第[19]期—单元测试、反射、注解、动态代理
|
监控 算法 测试技术
Go基础:如何做单元测试和基准测试
Go基础:如何做单元测试和基准测试
115 0
Go基础:如何做单元测试和基准测试
|
Web App开发 Java 测试技术
VSCode配置Golang单元测试实例
说到代码的健壮性,单元测试是少不了的,基本上所有语言都有自己的单元测试方案。工作这么多年,单元测试也没少写,像 Java、C++、Golang 都有过恶补单元测试的经历,为的就是应付各种 KPI,但是也不能说单元测试没有用,只是原始动力不是为了单元测试而单元测试,而是为了应付检查而单元测试。今天呢,就来说一说 Golang 语言的单元测试(这次真的是我自己主动要加的^_^)。
349 1
|
Java 测试技术 API
SpringBoot基础之MockMvc单元测试
SpringBoot基础之MockMvc单元测试
526 0
|
SQL JSON NoSQL
Golang 单元测试:有哪些误区和实践?
单元测试作为开发的有力武器,应该在软件开发的各个流程中发挥它的价值。原始的开发模式(开发完毕,交给测试团队进行端到端测试)的流程,应该逐步向 devops 的方向转变。本文是一个转型的具体实践过程,以一个实际的业务应用项目为例,介绍了在展开单测实践过程中遇到的一些常见问题的思考,并着重介绍了几种 mock 方法,对于一些相对复杂依赖项较多的业务也可以作为借鉴。
Golang 单元测试:有哪些误区和实践?