在Go中给出以下代码文件(名为server.go):
package glimpse
func SplitHeader() string {
return "hi there"
}
Run Code Online (Sandbox Code Playgroud)
和随附的测试文件(server_test.go):
package glimpse
import (
"testing"
)
func TestSplitHeader(t *testing.T) {
answer := SplitHeader()
if answer == "" {
t.Error("No return value")
}
}
Run Code Online (Sandbox Code Playgroud)
为什么是以下命令:go test server_test.go
回报
# command-line-arguments
./server_test.go:9: undefined: SplitHeader
Run Code Online (Sandbox Code Playgroud)
我当然错过了一些灾难性的东西.
仅限使用
$ go test
Run Code Online (Sandbox Code Playgroud)
从包目录内执行测试.如果将特定文件命名为参数go test,则只考虑那些文件来构建测试二进制文件.这解释了'未定义'错误.
作为替代方案,可以使用"导入路径"作为参数来go test代替,例如
$ go test foo.com/glimpse
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
329 次 |
| 最近记录: |