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?
Writing tests in Go requires a test file link, and this test file must always end with _test.go . By convention, Go testing files are always located in the same folder, or package, where the code they are testing resides.
The convention for naming test files in Go is to end the file name with the _test.go suffix and place the file in the same directory as the code it tests.
In Go, a name is exported if it begins with a capital letter. For example, Pizza is an exported name, as is Pi , which is exported from the math package. pizza and pi do not start with a capital letter, so they are not exported. When importing a package, you can refer only to its exported names.
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:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With