Go:测试和调试

自动化测试框架

1. testing 

            A. testing包提供了自动化测试相关的框架

            B. 支持单元测试和压力测试

import (
    "testing"
)

测试规范

2. Go中的测试约定

            A. 用来测试的代码必须以_test.go结尾

            B. 单元测试的函数名必须以Test开头, 并且只有一个参数,类型是 *Testing.T

            C. 基准测试或压力测试必须以 Benchmark开头,并且只有参数, 类型是*Testing.B

import (
    "testing"
)
    func TestAdd(t *testing.T) {
}
import (
    "testing"
)

func BenchmarkAdd(t *testing.B) {
}

单元测试

3. 单元测试

            A. 对于各个分支进行测试,如果不符合预期则失败

            B. 使用testing.T这个对象进行单元测试控制

基准测试

4. 基准测试

            A. 主要用来做性能测试。

            B. go test自动会执行所有的基准测试,并且打印执行耗时统计

package main
import (
    "fmt"
    "testing"
)
func BenchmarkHello(b *testing.B) {
    for i := 0; i < b.N; i++ {
        fmt.Sprintf("hello")
    }
}

Go test命令介绍

5. Go test 命令介绍

            A. go test加报名,执行这个包下面的所有测试用例

            B. Go test加测试源文件,执行这个测试源文件里的所有测试用例

            C. go test -run选项,执行只定的测试用例

Delve进行调试

6. delve工具介绍

            A. 追踪程序中的异常代码

            B. 通过打日志的方式,追查问题比较低效

            C. 能够有一种工具,直接分析程序执行的情况,就牛逼了

7. delve安装

            A. go get github.com/derekparker/delve/cmd/dlv

            B. 默认安装到GOPATH的bin目录下

            C. 把安装目录设置到PATH环境变量中

8. Delve使用

            A. dlv命令, dlv debug 包的路径或源代码路径

            B. Dlv会编译我们的程序,然后进入调试界面

            C. 进入调试界面后,就可以一步一步的执行的我们代码了

            D. 使用vscode进行调试,图形界面的使用

9. 调试正在运行的程序

            A. dlv命令, dlv attach 进程id

            B. 多线程调试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值