13.go开源groupcache项目笔记——byteview_test测试代码
来源:互联网 发布:黑死馆杀人事件知乎 编辑:程序博客网 时间:2024/06/16 06:27
13.go开源groupcache项目笔记——byteview_test测试代码
TestByteView
创建一个字符串数组"","x","yy"
两套循环,对比字符串数组和ByteView结构体。
判断是否一一相等。
Of函数
Of函数用于被testbyteview调用。
返回byteview.
入参为interface,可以是任何类型。
然后从中获取其byte[]数组,并返回带数组的结构体ByteView.
如果入参没有byte[]数组,则返回入参中的字符串组成的结构体ByteView.
TestByteViewEqual
创建一个结构体数组
[]struct{
a interface{}//stringor[]byte
b interface{}//stringor[]byte
wantbool
}
然后创建不同的元素。
然后进行循环
每次获取其中一个赋值给tt.
然后获取其tt.a变量。
接着判断tt.b变量是否为空,如果不为空,则判断是否tt.a和tt.b相等。
如果tt.b变量为空,则判断tt.a和tt.b是否相等。
TestByteViewSlice
先定义一个结构体
tests:=[]struct{
in string
fromint
to interface{}//niltomeantheend(SliceFrom);elseint
wantstring
}
并初始化3组。
然后进行循环测试,每次循环复制给变量tt
然后从in的字符串中获取from到to的字符串,然后和期望的结果进行对比。
单独只有这两个文件执行会报一个错误如下:
.\byteview.go:49:undefined: cloneBytes
需要在加入如下函数:
funccloneBytes(b[]byte)[]byte{
c:=make([]byte,len(b))
copy(c,b)
returnc
}
测试结果
=== RUN TestByteView
--- PASS: TestByteView(0.00s)
=== RUN TestByteViewEqual
--- PASS: TestByteViewEqual(0.00s)
=== RUN TestByteViewSlice
--- PASS: TestByteViewSlice(0.00s)
PASS
ok 0.176s
- 13.go开源groupcache项目笔记——byteview_test测试代码
- 14.go开源groupcache项目笔记——peers代码
- 15.go开源groupcache项目笔记——sinks代码
- 6.go开源groupcache项目笔记——consistenthash_test代码
- 8.go开源groupcache项目笔记——groupcachepb代码
- 9.go开源groupcache项目笔记——lru代码
- 11.go开源groupcache项目笔记——testpb代码
- 12.go开源groupcache项目笔记——byteview代码
- 3.go开源groupcache项目——consistenthash代码
- 1.go开源groupcache项目——groupcache介绍
- 4.go开源groupcache项目笔记——关于strconv
- 5.go开源groupcache项目笔记——关于testing
- 10.go开源groupcache项目笔记——singleFlight
- 16.go开源groupcache项目笔记——部署
- 7.go开源groupcache项目笔记——关于gocode代码自动补齐
- 2.go开源groupcache项目——关于protobuf
- 2.go开源cache2go项目笔记——项目介绍
- 1.go开源cache2go项目笔记——简单使用-
- 12.go开源groupcache项目笔记——byteview代码
- Python Multi-Processing多线程编程
- spring 如何决定使用jdk动态代理和cglib(网易面试题)
- 笔记 -- 05 -- RecyclerView与ListView比较
- unity_NGUI系统学习(三)_Button组件
- 13.go开源groupcache项目笔记——byteview_test测试代码
- 数据结构 --- Java之队列的实现
- 挑战程序竞赛系列(83):3.6计算几何基础
- 16.go开源groupcache项目笔记——部署
- SQL中常用模糊查询的四种匹配模式&&正则表达式
- hdu-1016-Prime Ring Problem
- Mysql 连接远程Linux主机无法连接 10061问题
- 《深入理解Java虚拟机》学习笔记(2)--垃圾收集器
- Activity里接收不到广播是怎么回事