GoにExample functionテストがあるの知らなかった。
とりあえずExampleXXXX() って関数名で使える。
キーワードはOutput:, Unordered output: って2つのコメントになる。
ドキュメントによるとExampleテストの関数名で対応する関数やメソッドを解決してGodocのExampleに掲載してくれるらしい。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package main
import "fmt"
func ExampleHello() {
fmt.Println("hello")
// Output:
// hello
}
func ExampleHoge() {
fmt.Println("goodby")
// Output:
// hello
}
func ExampleFooBar() {
fmt.Println("foo")
fmt.Println("bar")
// Unordered output:
// bar
// foo
}
|
上のテストコードの実行結果は下になる。ExampleHoge()を意図的に失敗させている。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$ go test ./ -v
=== RUN ExampleHello
--- PASS: ExampleHello (0.00s)
=== RUN ExampleHoge
--- FAIL: ExampleHoge (0.00s)
got:
goodby
want:
hello
=== RUN ExampleFooBar
--- PASS: ExampleFooBar (0.00s)
FAIL
exit status 1
FAIL _/Users/masumi/works/blog 0.017s
|