gtest
模块提供了常用的单元测试方法。模块提供了简便化的、轻量级的、常用的单元测试方法。主要实现了以下特性:
- 单元测试用例多测试项的隔离。
- 增加常用的一系列测试断言方法。
- 断言方法支持多种常见格式断言。提高易用性。
- 测试失败时的错误信息格式统一。
使用方式:
import "github.com/gogf/gf/test/gtest"
...
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
类型参数。
Info |
---|
用于单元测试的包名既可以使用 |
使用示例:
例如gstr
模块其中一个单元测试用例:
package gstr_test
import (
"github.com/gogf/gf/test/gtest"
"github.com/gogf/gf/text/gstr"
"testing"
)
func Test_Trim(t *testing.T) {
gtest.C(t, func(t *T) {
t.Assert(gstr.Trim(" 123456\n "), "123456")
t.Assert(gstr.Trim("#123456#;", "#;"), "123456")
})
}
...