golang 测试,单元测试和基准测试

本文介绍了Go语言中如何进行单元测试和基准测试。通过使用`go test`命令,我们可以创建xx_test.go文件进行测试,Test开头的函数为单元测试,接收*testing.T参数;Benchmark开头的函数用于基准测试,接收*testing.B参数。可以使用-v、-run和-bench参数来控制测试的详细程度和选择。通过-benchmem和-benchtime选项,可以分析测试的内存分配和运行时间。
摘要由CSDN通过智能技术生成

go test xxx.go

带 -v 表示冗余输出,成功pass的也会输出信息。

文件命名使用 xx_test.go 保存在项目目录里即可,也可以新建个test目录,TestAll

测试分为单元测试(功能)和基准测试(性能)。

单元测试函数名Test开头,接收一个指针型参数(*testing.T)。Example示例程序也算单元测试,不用接收参数。

go test -v -run="指定函数名"

// one_test.go
package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"net/http/httptest"
	"testing"
)

const checkMark = "\u2713" // 对号 %v
const ballotX = "\u2717"   // 错号

// 输出测试
func TestA(t *testing.T) {
	t.Log(checkMark, "测试成功,Logf")
	t.Error(ballotX, "失败了但继续,Errorf")
	t.Fatal(ballotX, "\t 失败了并终止,Fatalf, \\t是制表符")
	t.Log("运行不到这里了")
}

// 模拟服务器返回
func mockServer() *httptest.Server {
	f := func(w http.ResponseWriter, r *http.Request) {
		w.WriteHeader(200)
		fmt.Fprintf(w, "success")
	}
	return httpte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值