zoukankan      html  css  js  c++  java
  • golang学习笔记之单元测试和压力测试

    文件结构:

    math.go:待测试的包

    math_test.go:单元测试

    bench_test.go:压力测试

    math.go

    package main
    
    func Add(a int, b int) int {
    	return a + b
    }
    
    func Sub(a int, b int) int {
    	return a - b
    }
    

      

    单元测试:

    math_test.go

    package main
    
    import "testing"
    
    func TestAdd(t *testing.T) {
    	a := 10
    	b := 20
    	c := Add(a, b)
    	if c != 30 {
    		t.Fatalf("add func error, c = %d", c)
    	}
    	t.Logf("a = %d b = %d sum = %d
    ", a, b, c)
    }
    
    func TestSub(t *testing.T) {
    	a := 50
    	b := 20
    	c := Sub(a, b)
    	if c != 30 {
    		t.Fatalf("sub func error, c = %d", c)
    	}
    	t.Logf("a = %d b = %d sub = %d
    ", a, b, c)
    }
    

    在文件所在的路径下,命令行执行

    //go test -v    显示详细过程,也可以配合-run使用
    //go test -run TestAdd 只测试TestAdd方法
    //go test -run TestSub 只测试TestSub方法
    go test 
    

      

    压力测试:

    bench_test.go

    package main
    
    import "testing"
    
    //注意命名规范 Benchmark+首字母大写的方法名 参数固定
    func BenchmarkAdd(b *testing.B) {
    	for i := 0; i < b.N; i++ {
    		a := 10
    		b := 20
    		Add(a, b)
    	}
    }
    
    //注意命名规范 Benchmark+首字母大写的方法名 参数固定
    func BenchmarkSub(b *testing.B) {
    	for i := 0; i < b.N; i++ {
    		a := 10
    		b := 20
    		Sub(a, b)
    	}
    }
    

      

    在文件所在的路径下,命令行执行

    //go test -bench BenchmarkAdd 只压测BenchmarkAdd方法
    //go test -bench BenchmarkSub 只压测BenchmarkSub方法
    //go test -bench .    点表示测试该路径下所有压力测试
    go test -bench .
    

      

  • 相关阅读:
    express 连接 moogdb 数据库
    数组 去重
    vue 路由meta 设置title 导航隐藏
    :src 三目运算
    axios baseURL
    js对象修改 键
    Swiper隐藏后在显示滑动问题
    字符串中的替换
    获取服务器时间
    vue a链接 添加参数
  • 原文地址:https://www.cnblogs.com/yin5th/p/9186557.html
Copyright © 2011-2022 走看看