Slide 21
Slide 21 text
analysis/analysistest を使ったテスト
• testdata ディレクトリを作成するとそこを GOPATHとして扱うことができる
• ディレクトリ配下に対して、作成した Linter を実行することができる
tests
├── testdata
│ └── src
│ ├── a
│ │ ├── a.go
│ │ ├── a_test.go
│ │ └── ax_test.go
│ ├── b
│ │ └── b.go
│ ├── b_x_test
│ │ └── b_test.go
│ └── divergent
│ ├── buf.go
│ └── buf_test.go
├── tests.go
└── tests_test.go
golang.org/x/tools/go/analysis/passes/tests より
// tests_test.go
func Test(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, tests.Analyzer,
"a", // loads "a", "a [a.test]", and "a.test"
"b_x_test", // loads "b" and "b_x_test"
"divergent",
)
}