一尘不染

如何在指定文件中运行测试用例?

go

我的程序包测试用例分散在多个文件中,如果运行,go test <package_name>它将运行程序包中的所有测试用例。

虽然没有必要全部运行。有没有一种方法指定go test要运行的文件,使其仅运行文件中定义的测试用例?


阅读 259

收藏
2020-07-02

共1个答案

一尘不染

有两种方法。一种简单的方法是使用该-run标志并提供与您要运行的测试名称匹配的模式。

例:

$ go test -run NameOfTest

有关更多信息,请参阅文档

另一种方法是命名包含您要运行的测试的特定文件:

$ go test foo_test.go

但是有一个陷阱。如果满足以下条件,则效果很好:

  • foo.gopackage foo
  • foo_test.gopackage foo_test并导入“ foo”。

如果foo_test.gofoo.go是相同的软件包(常见情况),则必须命名build所需的所有其他文件foo_test。在此示例中,它将是:

$ go test foo_test.go foo.go

我建议使用该-run模式。或者,在可能的情况下,始终运行所有程序包测试。

2020-07-02