gtest
模块提供了简便化的、轻量级的、常用的单元测试方法。是基于标准库testing
的功能扩展封装,主要增加实现了以下特性:
成都创新互联是专业的保山网站建设公司,保山接单;提供成都做网站、网站建设、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行保山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
gtest
设计为比较简便易用,可以满足绝大部分的单元测试场景,如果涉及更复杂的测试场景,可以考虑第三方的testify
、GOconvey
等测试框架。
使用方式:
import "github.com/gogf/gf/v2/test/gtest"
接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/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
类型参数。用于单元测试的包名既可以使用包名_test
,也可直接使用包名(即与测试包同名)。两种使用方式都比较常见,且在Go官方标准库中也均有涉及。但需要注意的是,当需要测试包的私有方法/私有变量时,必须使用包名命名形式。且在使用包名命名方式时,注意仅用于单元测试的相关方法(非Test*
测试方法)一般定义为私有,不要公开。
使用示例:
例如gstr
模块其中一个单元测试用例:
package gstr_test
import (
"github.com/gogf/gf/v2/test/gtest"
"github.com/gogf/gf/v2/text/gstr"
"testing"
)
func Test_Trim(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gstr.Trim(" 123456\n "), "123456")
t.Assert(gstr.Trim("#123456#;", "#;"), "123456")
})
}
也可以这样使用:
package gstr_test
import (
. "github.com/gogf/gf/v2/test/gtest"
"github.com/gogf/gf/v2/text/gstr"
"testing"
)
func Test_Trim(t *testing.T) {
C(t, func() {
Assert(gstr.Trim(" 123456\n "), "123456")
Assert(gstr.Trim("#123456#;", "#;"), "123456")
})
}
一个单元测试用例可以包含多个C
,一个C
也可以执行多个断言。 断言成功时直接PASS
,但是如果断言失败,会输出如下类似的错误信息,并终止当前单元测试用例的继续执行(不会终止后续的其他单元测试用例)。
=== RUN Test_Trim
[ASSERT] EXPECT 123456#; == 123456
1. /Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/text/gstr/gstr_z_unit_trim_test.go:20
2. /Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/text/gstr/gstr_z_unit_trim_test.go:18
--- FAIL: Test_Trim (0.00s)
FAIL
本文题目:创新互联GoFrame教程:GoFrame单元测试-gtest
链接分享:http://www.shufengxianlan.com/qtweb/news43/272643.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联