Detects when some calls can be replaced by methods from the testing package.
Recommended.
linters:
enable:
- usetestingsettings:
usetesting:
# Enable/disable `os.CreateTemp("", ...)` detections.# Default: trueos-create-temp: false# Enable/disable `os.MkdirTemp()` detections.# Default: trueos-mkdir-temp: false# Enable/disable `os.Setenv()` detections.# Default: trueos-setenv: false# Enable/disable `os.TempDir()` detections.# Default: falseos-temp-dir: true# Enable/disable `os.Chdir()` detections.# Disabled if Go < 1.24.# Default: trueos-chdir: false# Enable/disable `context.Background()` detections.# Disabled if Go < 1.24.# Default: falsecontext-background: true# Enable/disable `context.TODO()` detections.# Disabled if Go < 1.24.# Default: falsecontext-todo: truego install github.com/ldez/usetesting/cmd/usetesting@latestusetesting: Reports uses of functions with replacement inside the testing package.
Usage: usetesting [-flag] [package]
Flags:
-contextbackground
Enable/disable context.Background() detections (default true)
-contexttodo
Enable/disable context.TODO() detections (default true)
-oschdir
Enable/disable os.Chdir() detections (default true)
-osmkdirtemp
Enable/disable os.MkdirTemp() detections (default true)
-ossetenv
Enable/disable os.Setenv() detections (default false)
-ostempdir
Enable/disable os.TempDir() detections (default false)
-oscreatetemp
Enable/disable os.CreateTemp("", ...) detections (default true)
...
funcTestExample(t*testing.T) {
os.MkdirTemp("a", "b")
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
t.TempDir()
// ...
}funcTestExample(t*testing.T) {
os.TempDir()
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
t.TempDir()
// ...
}funcTestExample(t*testing.T) {
os.CreateTemp("", "x")
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
os.CreateTemp(t.TempDir(), "x")
// ...
}funcTestExample(t*testing.T) {
os.Setenv("A", "b")
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
t.Setenv("A", "b")
// ...
}funcTestExample(t*testing.T) {
os.Chdir("x")
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
t.Chdir("x")
// ...
}funcTestExample(t*testing.T) {
ctx:=context.Background()
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
ctx:=t.Context()
// ...
}funcTestExample(t*testing.T) {
ctx:=context.TODO()
// ...
}It can be replaced by:
funcTestExample(t*testing.T) {
ctx:=t.Context()
// ...
}