如何在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")
```