Go定时器、单元测试

定时器

  • 初始化和一般使用
	t:=time.NewTicker(time.Second)
	for v := range t.C {
		fmt.Println("hello",v)
	}

结果:一秒输出一次

  • 一定时间后

      time.After(time.Second)
    
select {
		case v := <-ch1:
			fmt.Println(v)
		case v := <-ch2:
			fmt.Println(v)
		case <-time.After(time.Second):
			fmt.Println("get data timeout")
		}
  • 关闭回收(防止内存泄漏)
t.Stop()

单元测试

  • 文件名字:_test.go

      例如:calc_test.go
    
  • 函数名字:Test*

      例如:TestAdd()
    
  • 终端运行方式:go test

      详细运行方式:go  test -v
    

测试例子

func TestAdd(t *testing.T) {
	r := add(2, 4)
	if r != 6 {
		// 说明测试不通过
		t.Fatalf("add(2, 4) error, expect:%d, actual:%d", 6, r)
	}
	// 测试通过打印日志
	t.Logf("test add succ")
}
发布了32 篇原创文章 · 获赞 16 · 访问量 4694

猜你喜欢

转载自blog.csdn.net/weixin_44879611/article/details/104199324
今日推荐