1. ホーム
  2. testing

[解決済み] Golangのテスト。"テストファイルなし"

2023-04-02 06:30:26

質問

パッケージディレクトリにreverseTest.goという簡単なテストを作成しています。

package main

import "testing"

func TestReverse(t *testing.T) {
    cases := []struct {
        in, want string
    }{
        {"Hello, world", "dlrow ,olleH"},
        {"Hello, 世界", "界世 ,olleH"},
        {"", ""},
    }

    for _, c := range cases {
        got := Reverse(c.in)
        if got != c.want {
            t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
        }
    }
}

これを実行しようとすると、出力は

exampleFolder[no test files] 

これは私のGO環境です

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/juan/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

どんな助けでも非常に感謝されます。ありがとうございます!

どのように解決するのですか?

テストを含むファイルは name_test という名前でなければなりません。 _test というサフィックスをつけます。これらは、テストしているコードと並んでいるはずです。

テストを再帰的に実行するには go test -v ./...

から Goコードの書き方 :

<ブロッククオート

で終わる名前のファイルを作成し、テストを書きます。 _test.go という名前のファイルを作成し、その中に TestXXX という名前の関数が含まれており、シグネチャが func (t *testing.T) . テストフレームワークはそのような関数を実行します。その関数が t.Error または t.Fail の場合、テストは失敗したとみなされます。