日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame單元測試-gtest

?gtest?模塊提供了簡便化的、輕量級的、常用的單元測試方法。是基于標(biāo)準(zhǔn)庫?testing?的功能擴展封裝,主要增加實現(xiàn)了以下特性:

成都創(chuàng)新互聯(lián)是專業(yè)的保山網(wǎng)站建設(shè)公司,保山接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行保山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

  • 單元測試用例多測試項的隔離。
  • 增加常用的一系列測試斷言方法。
  • 斷言方法支持多種常見格式斷言。提高易用性。
  • 測試失敗時的錯誤信息格式統(tǒng)一。

?gtest?設(shè)計為比較簡便易用,可以滿足絕大部分的單元測試場景,如果涉及更復(fù)雜的測試場景,可以考慮第三方的?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?方法創(chuàng)建一個?Case?,表示一個單元測試用例。一個單元測試方法可以包含多個?C?,每一個?C?包含的用例往往表示該方法的其中一種可能性測試。
  • 斷言方法?Assert?支持任意類型的變量比較。?AssertEQ?進行斷言比較時,會同時比較類型,即嚴(yán)格斷言。
  • 使用大小比較斷言方法如?AssertGE?時,參數(shù)支持字符串及數(shù)字比較,其中字符串比較為大小寫敏感。
  • 包含斷言方法?AssertIN?及?AssertNI?支持?slice?類型參數(shù),暫不支持?map?類型參數(shù)。

用于單元測試的包名既可以使用包名?_test?,也可直接使用包名(即與測試包同名)。兩種使用方式都比較常見,且在Go官方標(biāo)準(zhǔn)庫中也均有涉及。但需要注意的是,當(dāng)需要測試包的私有方法/私有變量時,必須使用包名命名形式。且在使用包名命名方式時,注意僅用于單元測試的相關(guān)方法(非?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?也可以執(zhí)行多個斷言。 斷言成功時直接?PASS?,但是如果斷言失敗,會輸出如下類似的錯誤信息,并終止當(dāng)前單元測試用例的繼續(xù)執(zhí)行(不會終止后續(xù)的其他單元測試用例)。

=== 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

新聞標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame單元測試-gtest
瀏覽地址:http://www.5511xx.com/article/dhpojsj.html