...
func C(t *testing.T, f func(t *T))
func Assert(value, expect interface{})
func AssertEQ(value, expect interface{})
func AssertGE(value, expect interface{})
func AssertGT(value, expect interface{})
func AssertIN(value, expect interface{})
func AssertLE(value, expect interface{})
func AssertLT(value, expect interface{})
func AssertNE(value, expect interface{})
func AssertNI(value, expect interface{})
func Error(message ...interface{})
func Fatal(message ...interface{})
...
简要说明:
...
- 使用
C
方法创建一个Case
,表示一个单元测试用例。一个单元测试方法可以包含多个C
,每一个C
包含的用例往往表示该方法的其中一种可能性测试。
...
- 断言方法
Assert
支持任意类型的变量比较。AssertEQ
进行断言比较时,会同时比较类型,即严格断言。
...
- 使用大小比较断言方法如
AssertGE
时,参数支持字符串及数字比较,其中字符串比较为大小写敏感。
...
- 包含断言方法
AssertIN
及AssertNI
支持slice
类型参数,暂不支持map
类型参数。
用于单元测试的包名既可以使用
包名_test
,也可直接使用包名
(即与测试包同名)。两种使用方式都比较常见,且在Go
官方标准库中也均有涉及。但需要注意的是,当需要测试包的私有方法/私有变量时,必须使用包名
命名形式。且在使用包名
命名方式时,注意仅用于单元测试的相关方法(非Test*
测试方法)一般定义为私有,不要公开。
...