报告对 testing.T.FailNow 和位于测试文件的 goroutine 中的类似方法的调用。

FailNow 一样的方法会调用 runtime.Goexit 并停止调用 goroutine,而不是测试。 因此,必须仅从运行测试或基准的 goroutine 中调用。

有关 FailNow 的详细信息,请参阅 go.dev 上的 func (*T) FailNow

示例:

func TestFoo(t *testing.T) {
  go func() {
    t.Fatal("oops") // 退出 goroutine,而不是 TestFoo
  }()
}

在应用替换为 'Error' 和 'return' 快速修复后:

func TestFoo(t *testing.T) {
  go func() {
    t.Error("oops")
    return
  }()
}