当我在词法分析器的测试单元中遇到这一行时,我目前正在阅读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 回答
- 0 关注
- 227 浏览
添加回答
举报
0/150
提交
取消