Go语言通过testing包提供自动化测试功能。包内测试只要运行命令 go test,就能自动运行符合规则的测试函数。
Go语言测试约定规则
1.一般测试func TestXxx(*testing.T)
测试行必须Test开头,Xxx为字符串,第一个X必须大写的[A-Z]的字幕
为了测试方法和被测试方法的可读性,一般Xxx为被测试方法的函数名。
2.性能测试func BenchmarkXxx(*testing.B)
性能测试用Benchmark标记,Xxx同上。
3.测试文件名约定
go语言测试文件名约定规则是必须以_test.go结尾,放在相同包下,为了方便代码阅读,一般go源码文件加上_test
比如源文件my.go 那么测试文件如果交your_test.go,her_test.go,my_test.go都可以,不过最好的还是my_test.go,方便阅读
举例,源文件my.go
package my func add(x, y int) int { return x + y }
创建一个my_test.go文件,需要引入testing
package my import "testing" func TestAdd(t *testing.T) { if add(1, 2) != 3 { t.Error("test foo:Addr failed") } else { t.Log("test foo:Addr pass") } } func BenchmarkAdd(b *testing.B) { // 如果需要初始化,比较耗时的操作可以这样: // b.StopTimer() // .... 一堆操作 // b.StartTimer() for i := 0; i < b.N; i++ { add(1, 2) } }
运行测试 go test,输出:
PASS
ok github.com/my 0.010s
要运行性能测试,执行命令
go test -test.bench=".*"
输出
PASS
BenchmarkAdd 2000000000 0.72 ns/op
ok github.com/my 1.528s
更多测试命名,用go help test
go的测试是不是很好很强大!^_^
文章出处: http://blog.gcove.net/go%E8%AF%AD%E8%A8%80%E6%B5%8B%E8%AF%95test.html
相关推荐
为了更好地理解和使用`Go-Test`,你应该熟悉Go语言的测试规范,理解`testing`包的基本用法,然后逐渐探索`Go-Test`提供的高级功能。 总的来说,`Go-Test`是一个强大的工具,能够提升Go语言项目的测试效率和质量。...
Go语言,又称Golang,是由Google开发的一种静态类型的、编译型的、并发型的、垃圾回收的语言。它旨在提高编程效率,简化并发编程,并强调简洁的编程哲学。Go语言的设计受到了多门经典编程语言的影响,如C语言、...
消息队列zeromq的go语言测试实例包,为学习安装部署zeromq的同学提供,注意该安装包中的测试实例为go语言版本,要根据各位安装的zeromq版本下载。
Go语言的工具链也非常强大,包括go build、go test等,可以帮助开发者进行编译、测试和部署。 通过深入学习《GO 语言学习辅导》,无论是对Go语言的初学者还是有一定经验的开发者,都能从中获得宝贵的知识和实践经验...
本教程将带你快速入门Go语言的单元测试,了解如何利用内置的`testing`包编写和运行测试用例。 Go语言的单元测试基于其标准库中的`testing`包,该包提供了编写、组织和执行测试的基本框架。下面我们将深入探讨`...
【Go-ldap-test-tool:一个轻量级的LDAP测试工具】 在信息技术领域,LDAP(Lightweight Directory Access Protocol)是一种用于访问和管理分布式目录服务的标准协议。它被广泛应用于组织内部的身份验证、用户权限...
Go 的工具链非常出色,包括 `go build`(编译程序)、`go test`(编写和运行测试)、`go fmt`(自动格式化代码)等。这些工具使得开发流程更加高效和统一。 8. **错误处理** Go 语言采用错误返回的方式处理异常,...
对于软件工程的支持,Go语言有着内置的包管理和构建工具,如`go build`和`go test`,简化了项目的构建和测试流程。此外,Go语言采用静态类型,强类型检查可以减少运行时错误,提高代码质量。同时,Go语言的接口设计...
Go语言,又称Golang,是由Google公司设计的一种静态类型的、垃圾回收的、编译型的、并发型且具有垃圾回收功能的编程语言。它旨在提高开发效率,兼顾运行速度,使得开发者能够在保持高效性能的同时,享受到简洁的语法...
Go语言,也称为Golang,是由Google公司开发的一种静态类型的、编译型的、并发型的、垃圾回收的、C风格的编程语言。它在设计上融合了现代编程语言的特性,如并发原语、类型系统和内存管理,同时保持了简洁的语法和...
Go语言,也被称为Golang,是由Google开发的一种静态类型的、编译式的、并发型且具有垃圾回收功能的编程语言。它的设计目标是提高开发效率,同时保持程序的高性能和可靠性。Go语言以其简洁的语法、高效的并发模型以及...
Go语言,又称Golang,是由Google开发的一种静态类型的、编译型的、并发型的、垃圾回收式的、具有C风格的编程语言。它的设计目标是提高编程效率,简化多线程编程,以及优化网络和系统服务的开发。下面将详细讨论Go...
Go语言,又称Golang,是由Google开发的一种静态类型的、编译型的、并发型的、垃圾回收的编程语言。自2009年发布以来,Go语言因其简洁的语法、高效的性能以及对并发编程的良好支持,迅速在IT界赢得了广泛的赞誉。本...
6. **Go语言测试与调试**:介绍如何编写测试用例,使用go test工具,以及调试技巧。 7. **Go语言的性能优化**:包括内存管理、CPU使用、程序性能分析等,帮助开发者写出高效的Go程序。 8. **Go语言生态**:介绍Go...
- Go语言的源代码通过`go build`命令编译,`go run`可以直接运行单个源文件,`go test`用于测试。 通过这个“Go语言入门经典 源码”资源,初学者可以逐步学习Go语言的基础概念、核心特性以及实际应用,配合代码...
Go语言,也称为Golang,是由Google开发的一种静态类型的、编译式的、并发型且具有垃圾回收功能的编程语言。自2009年发布以来,Go语言因其简洁的语法、高效的性能以及对并发处理的良好支持,逐渐在云计算、网络服务和...
9. **Go命令工具**:Go语言的工具链非常强大,包括了go build(编译)、go test(测试)、go fmt(格式化代码)等一系列命令,简化了开发流程。 10. **Go语言哲学**:Go语言强调简洁、清晰和高效,其设计哲学鼓励...
在本文中,我们将深入探讨如何使用Go语言进行gRPC工程的测试,特别是在处理源码级别的测试。gRPC是一个高性能、开源和通用的RPC框架,它基于HTTP/2协议和Protocol Buffers(protobuf)来定义服务接口。Go语言,作为...
Go语言,又称Golang,是由Google开发的一种静态类型的、编译型的、并发型的、垃圾回收的、C风格的编程语言。它旨在提高程序员的生产效率和系统的可扩展性,特别适合构建大规模的网络服务和分布式系统。本资料包是...