Skipping Packages in Go Testing
Go testing offers the flexibility to select specific packages for testing, bypassing those you wish to exclude.
Skipping Specific Directory
To skip a particular directory from testing, you can specify the packages you want to test individually. For example, given the directory structure:
mypackage mypackage/net mypackage/other mypackage/scripts
To test only mypackage, mypackage/other, and mypackage/net, use the following command:
go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net
Using Shell Substitution
You can also use shell substitution for this purpose:
go test import/path/to/mypackage{,/other,/net}
Using go list
The go list command can be employed to generate a list of packages to test, excluding undesired directories:
go test `go list ./... | grep -v directoriesToSkip`
Skipping Tests Based on Conditions
If you wish to skip tests based on certain conditions, you can utilize the testing.Short() function within your tests. By calling t.Skip() appropriately, you can ensure that these tests are omitted.
To run tests selectively based on the presence of the testing.Short() flag, use one of the following commands:
go test -short import/path/to/mypackage/...
or
go test -short ./...
This method allows you to skip costly or time-consuming tests as needed.
The above is the detailed content of How Can I Selectively Skip Packages or Tests in Go?. For more information, please follow other related articles on the PHP Chinese website!