Avatar ·

如何在Go中运行特定测试或某个文件中的所有测试?

大家好!我刚开始学习Go,在运行测试时遇到了问题。我有一个项目结构如下: ``` myproject/ ├── main.go ├── handlers.go ├── handlers_test.go ├── utils.go └── utils_test.go ``` 在 `handlers_test.go` 文件中有几个测试函数,`utils_test.go` 中也有自己的测试函数。当我运行 `go test ./...` 时,两个文件中的所有测试都会执行,这没问题。但有时我只需要运行 `handlers_test.go` 中的测试,而不涉及 `utils_test.go`。 我尝试了命令 `go test handlers_test.go`,但遇到了编译错误,因为测试文件中使用了 `handlers.go` 中的函数,而这些函数没有自动包含进来。例如,在 `handlers_test.go` 中我有这样的代码: ```go package main import "testing" func TestHandleRequest(t *testing.T) { result := HandleRequest("test") // 来自 handlers.go 的函数 if result != "expected" { t.Errorf("got %v, want %v", result, "expected") ```