Unit testing 如何在具有特定结构的golang应用程序中运行测试并获得覆盖率/
假设我的golang项目有如下目录结构:Unit testing 如何在具有特定结构的golang应用程序中运行测试并获得覆盖率/,unit-testing,go,Unit Testing,Go,假设我的golang项目有如下目录结构: ├── go.mod ├── main.go ├── pack │ └── runner.go └── test └── pack └── runner_test.go 如何运行测试并获得覆盖率? 简单地运行go test-cover不适用于此目录结构。我得到[没有测试文件]。它仅在runner_test.go和runner.go位于同一目录下时才起作用。建议代码及其测试位于同一目录下,因为它们通常位于同一个包中 此外,您
├── go.mod
├── main.go
├── pack
│ └── runner.go
└── test
└── pack
└── runner_test.go
如何运行测试并获得覆盖率?
简单地运行go test-cover不适用于此目录结构。我得到[没有测试文件]。它仅在runner_test.go和runner.go位于同一目录下时才起作用。建议代码及其测试位于同一目录下,因为它们通常位于同一个包中 此外,您可以使用go test从其根目录运行模块中的所有测试。/…-这将运行模块中所有包的测试 我会将您的代码结构稍微修改为:
├── go.mod
├── main.go
├── pack
└── runner.go
└── runner_test.go
假设runner.go中的代码在包包包中,请注意,在go中,包名是包含目录的名称
请参阅官方的“如何编写Go代码”和Go教程。注意,您的结构绝对不惯用,基本上被任何gopher认为是不好的做法:Test.\u Test.Go文件应该与代码位于同一文件夹中。Go不是Java。