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 に答える