• Golang学习---test写法和benchmark写法


    一、Test

      1. 每一个test文件须import一个testing

      2. test文件下的每一个test case 均必须用Test开头并且符合TestXxxx形式,否则go test会直接跳过测试不执行

      3. test case的入参为t *testing.T或b *testing.B

      4. t.Errof为打印错误信息,并且当前test case会被跳过

      5. t.SkipNow()为跳过当前test,并且直接按pass处理继续下一个test

      6. Go的test不会保证多个TestXxxx是顺序执行,但是通常会按顺序执行

      7. 使用t.Run来执行subtests可以做到控制test输出以及test顺序

      8. 使用TestMain作为初始化test,并且使用m.Run()来调试其它tests可以完成一些需要初始化操作的testing,比如数据库连接,文件打开,rest服务登录等。

      9. 如果没有在TestMain中调用m.Run()则除了TestMain以外的其它的tests都不会被执行

    二、Benchmark

      1. benchmark函数一般以Benchmark开头

      2. benchmark的case一般会跑b.N次,而且每次执行都会如此

      3. 在执行过程中会根据实际case的执行时间是否稳定会增加b.N次数以达到稳定

      4. 命令:go test -bench=.

      5. 要确保被测试函数总能在一个时间达到稳态

  • 相关阅读:
    BT656与BT1120的区别
    Arria10中PHY的时钟线结构
    Arria10中的IOPLL与fPLL
    Nios内部RAM固化配置
    实现1sym转换成2个sym送给CVI(VGA数据)
    embeded_2_separate_sync
    动态规划--青蛙跳
    动态规划 0--1 背包问题
    模拟题
    动态规划--最大子段和
  • 原文地址:https://www.cnblogs.com/DjanFey/p/10775261.html
Copyright © 2020-2023  润新知