培训首页  >  web前端新闻  >  兄弟连Go语言培训分享test测试使用

兄弟连Go语言培训分享test测试使用

[2018-08-31 10:55:36] 浏览量:50 来源:

北京兄弟连IT

  目前而言区块链是一门新兴前沿行业,但也是一门综合复杂性强的学科,学习区块链需要有一定的学习能力与知识基础。然而很多线下培训机构却只顾收取高额报名费用,将用户的实际情况置若罔闻,不设报名门槛,不对报名人员进行甄别筛选,实则是一种不负责任的态度。

  兄弟连教育Go全栈与区块链培训课程已从多层面颠覆传统培训机构运营思维,区块链课程的开设在一定程度上加大了大众对这一专业领域的认知,其构建起的区块链世界也必将在未来为我们呈现更加的生活方式。

 

1.创建测试文件夹mysql,文件夹下的go文件的package必须与文件夹名一致(不然会识别不到)

 

2.创建需要测试的文件mysql.go(使用github.com/go-sql-driver/mysql)

 

package mysql

 

import (

    "database/sql"

    _ "github.com/go-sql-driver/mysql"

)

 

func findByPk(pk int) int {

    var num int = 0

    db, err := sql.Open

    if err != nil {

        panic(err.Error())

    }

    defer db.Close()

    stmtOut, err := db.Prepare("select id from t_admin where id=?")

    if err != nil {

        panic(err.Error())

    }

    defer stmtOut.Close()

 

    err = stmtOut.QueryRow(pk).Scan(&num)

    if err != nil {

        panic(err.Error())

    }

    return num

}

View Code

3.创建单元测试用例文件mysql_test.go(文件名必须是*_test.go的类型,*代表要测试的文件名,函数名必须以Test开头如:TestXxxTest_xxx)

 

 

package mysql

 

import (

    "testing"

)

 

func Test_findByPk(t *testing.T) {

    num := findByPk(1)

    t.Log(num)

}

View Code

测试所有的文件 go test,将对当前目录下的所有*_test.go文件进行编译并自动运行测试。

测试某个文件使用-file”参数。go test file *.go 。例如:go test -file mysql_test.go"-file"参数不是必须的,可以省略,如果你输入go test b_test.go也会得到一样的效果。

测试某个方法 go test -run='Test_xxx'

"-v" 参数 go test -v ... 表示无论用例是否测试通过都会显示结果,不加"-v"表示只显示未通过的用例结果

4.创建benchmark性能测试用例文件mysql_b_test.go(文件名必须是*_b_test.go的类型,*代表要测试的文件名,函数名必须以Benchmark开头如:BenchmarkXxxBenchmark_xxx)

 

package mysql

 

import (

    "testing"

)

 

func Benchmark_findByPk(b *testing.B) {

    for i := 0; i < b.N; i++ { //use b.N for looping

        findByPk(1)

    }

}

View Code

进行所有go文件的benchmark测试 go test -bench=".*" 或 go test . -bench=".*"

对某个go文件进行benchmark测试 go test mysql_b_test.go -bench=".*"

5.用性能测试生成CPU状态图(暂未测试使用)

 

使用命令:

go test -bench=".*" -cpuprofile=cpu.prof -c

cpuprofile是表示生成的cpu profile文件

-c是生成可执行的二进制文件,这个是生成状态图必须的,它会在本目录下生成可执行文件mysql.test

然后使用go tool pprof工具

go tool pprof mysql.test cpu.prof

调用web(需要安装graphviz)来生成svg文件,生成后使用浏览器查看svg文件

文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

网上报名

热门信息