2

给定 Go 中的以下代码文件(名为 server.go):

package glimpse

func SplitHeader() string {
return "hi there"
}

以及随附的测试文件(server_test.go):

package glimpse

import (
"testing"
)

func TestSplitHeader(t *testing.T) {

    answer := SplitHeader()
    if answer == "" {
    t.Error("No return value")
}

}

为什么是下面的命令:go test server_test.go

返回

# command-line-arguments
./server_test.go:9: undefined: SplitHeader

我当然错过了一些灾难性的明显的东西。

4

1 回答 1

6

仅使用

$ go test

从包目录中执行测试。如果您将特定文件命名为 的参数go test,那么只有那些文件将被考虑用于构建测试二进制文件。这解释了“未定义”错误。

作为替代方案,使用“导入路径”作为参数来go test代替,例如

$ go test foo.com/glimpse
于 2013-08-26T19:17:39.290 回答