Avatar ·

如何使用 `go test` 运行 Go 项目中的所有测试?

大家好!我是 Go 的新手,正在尝试理解测试。我有一个项目,其中包含多个包,每个包都有自己的测试文件(例如 `main_test.go`、`utils_test.go`、`api_test.go`)。我想用一个命令运行整个项目中的所有测试,但不知道如何正确操作。 我尝试了不同的选项:`go test`、`go test ./...`,但结果不同。有时测试根本不运行,有时只在当前目录中运行。以下是我的项目结构示例: ``` myproject/ ├── main.go ├── main_test.go ├── utils/ │ ├── helpers.go │ └── helpers_test.go └── api/ ├── handlers.go └── handlers_test.go ``` 当我在项目根目录并输入 `go test` 时,只运行 `main_test.go` 中的测试,而 `utils` 和 `api` 子文件夹中的测试被忽略。如果我输入 `go test ./...`,则会收到错误:`go: no test files` 对于某些包(例如,如果根包中没有测试)。如何正确运行所有测试?