func Compare(t *testing.T, want, have *Vars)
Compare one set of vars with another and t.Error on any difference.
func TempFile(t *testing.T, content string) (filename string, cleanup func())
TempFile uses ioutil.TempFile to create a temporary file with the given content. Use the cleanup func to remove the file.
StringSlice is a flag.Value that collects each Set string into a slice, allowing for repeated flags.
type StringSlice []string
func (ss *StringSlice) Set(s string) error
Set implements flag.Value and appends the string to the slice.
func (ss *StringSlice) String() string
String implements flag.Value and returns the list of strings, or "..." if no strings have been added.
Vars are a common set of variables used for testing.
type Vars struct { S string I int F float64 B bool D time.Duration X StringSlice // ParseError should be assigned as the result of Parse in tests. ParseError error // If a test case expects an input to generate a parse error, // it can specify that error here. The Compare helper will // look for it using errors.Is. WantParseErrorIs error // If a test case expects an input to generate a parse error, // it can specify part of that error string here. The Compare // helper will look for it using strings.Contains. WantParseErrorString string }
func DefaultVars(fs *flag.FlagSet) *Vars
DefaultVars registers a predefined set of variables to the flag set. Tests can call parse on the flag set with a variety of flags, config files, and env vars, and check the resulting effect on the vars.
func NonzeroDefaultVars(fs *flag.FlagSet) *Vars
NonzeroDefaultVars is like DefaultVars, but provides each primitive flag with a nonzero default value. This is useful for tests that explicitly provide a zero value for the type.
func Pair() (*flag.FlagSet, *Vars)
Pair defines and returns an empty flag set and vars assigned to it.