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基础-编写单元测试

相关文章
|
安全 测试技术 Go
第十五章 Golang单元测试
第十五章 Golang单元测试
179 2
|
测试技术 Go
golang-Mock对单元测试的作用
golang-Mock对单元测试的作用
297 0
|
测试技术 Go
写出高质量代码的秘诀:Golang中的测试驱动开发(TDD)
写出高质量代码的秘诀:Golang中的测试驱动开发(TDD)
|
运维 监控 测试技术
Golang质量生态建设问题之接入并使用Go单元测试插件的问题如何解决
Golang质量生态建设问题之接入并使用Go单元测试插件的问题如何解决
231 1
|
测试技术 Shell Go
Golang质量生态建设问题之单元测试在卓越工程中的问题如何解决
Golang质量生态建设问题之单元测试在卓越工程中的问题如何解决
255 1
|
测试技术 Go 开发者
掌握Golang测试:从入门到实践
【8月更文挑战第31天】
438 0
|
安全 测试技术 Go
Golang深入浅出之-Go语言单元测试与基准测试:testing包详解
【4月更文挑战第27天】Go语言的`testing`包是单元测试和基准测试的核心,简化了测试流程并鼓励编写高质量测试代码。本文介绍了测试文件命名规范、常用断言方法,以及如何进行基准测试。同时,讨论了测试中常见的问题,如状态干扰、并发同步、依赖外部服务和测试覆盖率低,并提出了相应的避免策略,包括使用`t.Cleanup`、`t.Parallel()`、模拟对象和检查覆盖率。良好的测试实践能提升代码质量和项目稳定性。
501 1
|
测试技术 Shell Go
Golang质量生态建设问题之Go语言的单元测试的问题如何解决
Golang质量生态建设问题之Go语言的单元测试的问题如何解决
207 0
|
测试技术 Go
golang 测试模块使用
golang 测试模块使用
180 1
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。

热门文章

最新文章

推荐镜像

更多