如何在go程序包中运行多个测试文件

I have a project structure like this:

pkg
|
--pkg.go
--pkg_test.go
--a.go
--a_test.go
--b.go
--b_test.go
--c.go
--c_test.go

I wish to get the coverage for all the source files belonging to the package i.e.(pkg.go, a.go, b.go and c.go). However, when I run:

go test -v pkg

tests are run for only 1/4 go files.

Is there any way I can test my package without moving all the test codes within one file and keeping the file structure intact ?

if your working directory is that of your package, to test all of the files you could run:

go test ./...

if you wanted to get test coverage, you could run:

go test ./... -cover