タグ

2016年7月10日のブックマーク (1件)

  • Go言語のパッケージのテストでプライベートな関数や変数を呼び出すには - memoメモ

    Go言語でパッケージのテストを書く時に、プライベートな関数(隠蔽した関数)や定数を呼び出したいことがたまにあります。 これを実現する方法をメモ。 プライベートって? パッケージの内容は以下のような構成になっているとします: eg.go eg_test.go ここで: eg.go: package eg import () func foo() string { return "foo" } という実装があります。関数名のはじまりを小文字fooにし、意図的に関数を外部から隠蔽しています。これでプライベートになります。(というか、基は小文字で隠蔽し、公開したい場合は大文字にするといった使い方になるはずです) さて、テストコードから隠蔽したメソッドを呼ぶにはどうしたらいいでしょう。 関数名のはじまりを大文字にし、Fooとして公開(エクスポート)したくなります。が、公開する必要がないのに公開する

    Go言語のパッケージのテストでプライベートな関数や変数を呼び出すには - memoメモ