亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“testing.T”在 Golang 中是什么意思?

“testing.T”在 Golang 中是什么意思?

Go
楊魅力 2023-01-03 15:41:26
當我在詞法分析器的測試單元中遇到這一行時,我目前正在閱讀Writing an Interpreter in Go :package lexer import ( "testing""monkey/token")func TestNextToken(t *testing.T) {}“t *testing.T”的目的是什么?我知道它是指向測試庫中某個字段的指針,但我不確定它在做什么。稍后在代碼中以這種方式使用:for i, tt := range tests {      tok := l.NextToken()     if tok.Type != tt.expectedType {           t.Fatalf("tests[%d] - tokentype wrong. expected=%q, got=%q", i, tt.expectedType, tok.Type)      }     if tok.Literal != tt.expectedLiteral {            t.Fatalf("tests[%d] - literal wrong. expected=%q, got=%q", i, tt.expectedLiteral, tok.Literal)      }}我通讀了Golang 測試文檔,但無法真正理解它的目的是什么或為什么將其傳遞給測試功能。它只提到它是“傳遞給測試函數以管理測試狀態和支持格式化測試日志的類型”,盡管我不確定如何在上述代碼的上下文中解釋它。
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

func TestNextToken(t *testing.T)表示該函數采用指向測試包中類型 T的指針。T 用于測試,F 用于模糊測試,B 用于基準測試,等等。該引用在變量中t

testing.T存儲測試的狀態。當 Go 調用您的測試函數時,它會將相同的內容傳遞testing.T給每個函數(大概)。你調用它的方法就像t.Fail說測試失敗,或者t.Skip說測試被跳過等等。它會記住所有這些,Go 用它來報告所有測試函數中發生的事情。


查看完整回答
反對 回復 2023-01-03
  • 1 回答
  • 0 關注
  • 303 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號