Export structure only for testing in Golang

I have a utility package that many other packages use. I also created some test structures that implement those interfaces. And I put them in interfaces_test.go

I'd like to be able to import those test structures in other packages in my *_test.go files.

I saw something like that in http://golang.org/src/pkg/os/export_test.go but whatever I try I get an error similar to this one:

go test something/mypackage
mypackage/ant_lat_lon_test.go:46: undefined: rutl.TestAntenner
FAIL    something/mypackage [build failed]

Is there a way to do it?


Files matching *_test.go are only compiled when testing the package they are part of. If you are testing package A that uses package B, you won't have access to the _test.go code from package B.

So the two options are:

  • Always compile the test support code into package B.
  • If the test support code only depends on the exported interface of B, consider splitting it out into a separate package.
  • 链接地址: http://www.djcxy.com/p/78044.html

    上一篇: WPF应用程序实际上是否需要Application.Run?

    下一篇: 导出结构仅用于在Golang中进行测试