美文网首页
go的代码测试

go的代码测试

作者: 学不会swoole不改名 | 来源:发表于2019-04-25 16:26 被阅读0次
  package main

import (
    "testing"
)

func Test(t *testing.T) {
    test := []struct {
        s      string
        answer int
    }{
        {"abc", 3},
        {"abcabcadcd", 4},
        {"吃葡萄不吐葡萄皮", 0},
    }
    for _, tt := range test {
        receive := lengthSubstr(tt.s)
        if receive != tt.answer {
            t.Errorf("got %d for input %s;"+"expected %d",
                receive, tt.s, tt.answer)
        }

    }
}

代码覆盖率测试##

go test -cover

代码压力测试##

go test -bench.
func Tests(b *testing.B) {
    s := "吃葡萄不吐葡萄皮"
    answer := 5
    for i := 0; i < b.N; i++ {
        receive := lengthSubstr(s)
        if receive != answer {
            b.Errorf("got %d for input %s;"+"expected %d",
                receive, s, answer)
        }

    }

}

谈谈怎么优化性能

通过下面的命令生成一个cpu.out的文件(二进制)

go test -bench. -cpuprofile cpu.out

next

go tool pprof cpu.out

运行后会有一个命令行 可以通过help来查看具体有哪些命令

输入web会生成详细的图,但是这里说我没有Graphviz 安装一个就好

aaaa.png

记得将生成的bin放到Path里面

相关文章

  • Golang压力测试

    Go Test工具 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要...

  • Go语言单元测试和压力测试初次实践

    1. 待测试源码文件 gotest.go 2. 单元测试代码代码部分 gotest_test.go:这是我们的单元...

  • Go Test测试简介

    Go Test测试简介 Go语言拥有一套单元测试和性能测试系统,仅需要添加很少的代码就可以快速测试一段需求代码。g...

  • Go代码测试

    Go代码测试 功能测试(test) 测试函数Test开头,参数列表应只有一个*testing.T类型的参数声明。 ...

  • 第13章 2-单元测试

    源码 测试代码 执行命令 go test

  • go的代码测试

    代码覆盖率测试## 代码压力测试## 谈谈怎么优化性能 通过下面的命令生成一个cpu.out的文件(二进制) ne...

  • golang第五天

    学习go操作mysql,crud测试 代码 总结 go操作mysql 打卡时间: 21:04

  • go 单元测试

    单元测试 Go 语言测试框架可以让我们很容易地进行单元测试,但是需要遵循五点规则: 含有单元测试代码的 go 文件...

  • Go test工具链

    1.简介 go test命令用于对Go语言编写的程序进行测试。这种测试是以代码包为单位的。image.png 2....

  • 解决:go: cannot find main module;

    在运行之前写的测试代码时,遇到了报错go: cannot find main module; see 'go he...

网友评论

      本文标题:go的代码测试

      本文链接:https://www.haomeiwen.com/subject/gclzgqtx.html