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. 要确保被测试函数总能在一个时间达到稳态
Golang学习---test写法和benchmark写法的更多相关文章
- js 多个事件的绑定及移除(包括原生写法和 jquery 写法)
需要打开控制台查看效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- JQ写法和js写法 方法函数化
<script> $(function () { $('#head').click=function () { alert($(this).html()) } }) </script ...
- dom写法和jquery写法
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- golang学习之beego框架配合easyui实现增删改查及图片上传
golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...
- golang 学习笔记
golan 声明的变量必须要用到? 语法 a,b:=2323; b为 bool 类型 结构体的赋值 需要用到逗号分隔字段 并且最后一个字段后也必须加上逗号 这和 JavaScript 的对象不一样哦 ...
- Golang学习:sublime text3配置golang环境
最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...
- golang学习笔记18 用go语言编写移动端sdk和app开发gomobile
golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...
- golang学习笔记8 beego参数配置 打包linux命令
golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/mvc/contro ...
随机推荐
- C# 6.0:nameof操作符
C# 6.0 引入了一个名为“nameof”的新的操作符,它的作用是接收元素而后返回元素名字.这个操作符能将class和class的所用成员,比如方法.变量以及属性作为参数而后返回一个它们的名字.这避 ...
- 激活WINDOWS SERVER 2019
Windows Server 2019 Datacenter WMDGN-G9PQG-XVVXX-R3X43-63DFGWindows Server 2019 Standard N69G4-B89J2 ...
- 继承RelativeLayout 自定义布局
public class HomeToolbarView extends RelativeLayout { TextView tvTitle; public HomeToolbarView(Conte ...
- iOS字典转字符串方法
新建Object文件 .h文件中 +(NSString *)convertToJsonData:(NSDictionary *)dict: .m文件中 +(NSString *)convertToJs ...
- laravel-admin挖坑之旅
1.git-bash下使用命令php artisan admin:make UserController --model=App\User会报错Model does not exists 要加多一个“ ...
- 2、Netty基础
一.前言 主要包含下面内容: 初识 Netty: 使用 Java NIO 搭建简单的客户端与服务端实现网络通讯: 使用 Netty 搭建简单的客户端与服务端实现网络通讯: Netty 底层操作与 Ja ...
- Windows下访问控制管理
参考URL: https://blog.csdn.net/u011801161/article/details/45567289 http://blog.nsfocus.net/analysis-wi ...
- Go 1.11 Module 介绍
title: "Go 1.11 Module" date: 2018-10-26T23:50:56+08:00 draft: false --- Go 1.11 Module 介绍 ...
- 逆向工程vgenerator(二)
前言 接上篇,这一篇主要的工具类和工厂类,包括数据库方法.通用方法,三个工厂. 常量 /** *author vvxtoys *默认xml开头 *文档分隔 *默认方法名 */ package cc.v ...
- Z 字形变换
将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T ...