Home >Backend Development >Golang >go test -run: how to specify package in test identifier
php editor Xinyi will introduce you in detail how to specify the package in the test identifier. In Go language, we can use the "go test -run" command to run specified test cases. By default, this command will run all test cases in the current directory. However, sometimes we only want to run a specific test package or test function, in which case we need to specify it using the "-run" identifier. For example, we can use "go test -run PackageName" to run only the specified test package, or use "go test -run TestFunctionName" to run only the specified test function. In this way, we can run the test cases we need more flexibly and improve testing efficiency.
Suppose I have two packages foo/bar and foo/baz. Both foo/bar and foo/baz have a TestFoo, but I only want to run foo/bar's TestFoo. Additionally, foo/baz has a TestBaz that I want to run.
Is it possible to specify the go test
command to run only foo/bar::TestFoo and foo/baz::TestBaz?
I tried using go test -run
to achieve this, but it looks like running the regex only filters by name, not by package identifier:
go test - run "TestFoo|TestBaz" foo/bar foo/baz
Ideally, I'd like to do something like this:
go test - run "foo/bar/TestFoo|foo/baz/TestBaz" foo/bar foo/baz
.
Is it possible to specify a go test command that only runs foo/bar::TestFoo and foo/baz::TestBaz?
No, this is impossible.
(Packages should generally be self-contained, and testing a selected test from multiple tests is not a common use case at all. Testing multiple or all packages via go test is good enough. /...)
The above is the detailed content of go test -run: how to specify package in test identifier. For more information, please follow other related articles on the PHP Chinese website!