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 .
    

      

  • 相关阅读:
    快捷键打开远程桌面
    织梦Dedecms后台登陆密码忘记怎么办?
    Windows curl开启注意事项
    Composer教程
    composer.json和composer.lock有什么区别?
    Web.config 文件例子
    win10回收站右键有2个“CCleaner”怎么删除
    sublime快捷键
    Json 文件注意事项
    加入购物车流程
  • 原文地址:https://www.cnblogs.com/yin5th/p/9186557.html
Copyright © 2011-2022 走看看