Go单元测试
以前没学 go 单元测试时,写好的代码总是要在 main 函数中跑一下,非常不便。go 提供了非常方便的单元测试工具,只要编写单元测试文件即可。
1、单元测试文件必须以 test.go 结尾
2、单元测试文件里的方法必须以 Test 开头的驼峰形式命名方法,注意这里 Test 后面必须跟大写字母开头
相对代码目录,新建一个 test 目录,专门放测试文件#
src
--bitcoin //项目目录
----Block.go
--test //测试文件目录
----Block_test.go
Block.go
func CreateBlock(data []*Transaction, preHash []byte) *Block{
newBlock := &Block{
PreHash:preHash,
Transactions:data,
Timestamp:time.Now().Unix(),
}
return newBlock
}
对单一文件进行测试,可以新建对应的测试文件 Block_test.go#
测试方法 Test 开头,参数是 * testing.T
func TestCreateBlock(t *testing.T) {
ts := []*bitcoin.Transaction{txone,txtwo}
bc := bitcoin.CreateBlock(ts) //调用需要测试的方法
t.Log(bc) //输出结果
}
命令行运行
cd test //进入到测试文件目录
go test Block_test.go
如果要显示测试方法里面的输出#
一般情况,运行测试文件不会显示 fmt.println 等输出内容,需要在命令加上 - v
go test -v Block_test.go
运行指定测试文件的指定测试方法#
如果只想执行 bitcoin_test.go 中的 TestCreateBlock 方法,加上 - run
go test -v bitcoin_test.go -run TestCreateBlock
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: