Documentation
¶
Overview ¶
Package testing provides support for automated testing of Go packages.
Index ¶
- func AllocsPerRun(runs int, f func()) (avg float64)
- func Init()
- func Short() bool
- func TestMain(m *M)
- func Verbose() bool
- type B
- func (c *B) Error(args ...interface{})
- func (c *B) Errorf(format string, args ...interface{})
- func (c *B) Fail()
- func (c *B) FailNow()
- func (c *B) Failed() bool
- func (c *B) Fatal(args ...interface{})
- func (c *B) Fatalf(format string, args ...interface{})
- func (c *B) Helper()
- func (c *B) Log(args ...interface{})
- func (c *B) Logf(format string, args ...interface{})
- func (c *B) Name() string
- func (c *B) Parallel()
- func (b *B) ReportAllocs()
- func (b *B) ResetTimer()
- func (b *B) Run(name string, f func(b *B)) bool
- func (b *B) SetBytes(n int64)
- func (c *B) Skip(args ...interface{})
- func (c *B) SkipNow()
- func (c *B) Skipf(format string, args ...interface{})
- func (c *B) Skipped() bool
- func (b *B) StartTimer()
- func (b *B) StopTimer()
- type BenchmarkResult
- type InternalBenchmark
- type InternalExample
- type InternalTest
- type M
- type T
- func (c *T) Error(args ...interface{})
- func (c *T) Errorf(format string, args ...interface{})
- func (c *T) Fail()
- func (c *T) FailNow()
- func (c *T) Failed() bool
- func (c *T) Fatal(args ...interface{})
- func (c *T) Fatalf(format string, args ...interface{})
- func (c *T) Helper()
- func (c *T) Log(args ...interface{})
- func (c *T) Logf(format string, args ...interface{})
- func (c *T) Name() string
- func (c *T) Parallel()
- func (t *T) Run(name string, f func(t *T)) bool
- func (c *T) Skip(args ...interface{})
- func (c *T) SkipNow()
- func (c *T) Skipf(format string, args ...interface{})
- func (c *T) Skipped() bool
- type TB
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllocsPerRun ¶ added in v0.21.0
AllocsPerRun returns the average number of allocations during calls to f. Although the return value has type float64, it will always be an integral value.
Not implemented.
Types ¶
type B ¶ added in v0.8.0
type B struct { N int // contains filtered or unexported fields }
B is a type passed to Benchmark functions to manage benchmark timing and to specify the number of iterations to run.
func (*B) Error ¶ added in v0.8.0
func (c *B) Error(args ...interface{})
Error is equivalent to Log followed by Fail.
func (*B) Errorf ¶ added in v0.8.0
func (c *B) Errorf(format string, args ...interface{})
Errorf is equivalent to Logf followed by Fail.
func (*B) Fail ¶ added in v0.8.0
func (c *B) Fail()
Fail marks the function as having failed but continues execution.
func (*B) FailNow ¶ added in v0.8.0
func (c *B) FailNow()
FailNow marks the function as having failed and stops its execution by calling runtime.Goexit (which then runs all deferred calls in the current goroutine).
func (*B) Failed ¶ added in v0.8.0
func (c *B) Failed() bool
Failed reports whether the function has failed.
func (*B) Fatal ¶ added in v0.8.0
func (c *B) Fatal(args ...interface{})
Fatal is equivalent to Log followed by FailNow.
func (*B) Fatalf ¶ added in v0.8.0
func (c *B) Fatalf(format string, args ...interface{})
Fatalf is equivalent to Logf followed by FailNow.
func (*B) Helper ¶ added in v0.17.0
func (c *B) Helper()
Helper is not implemented, it is only provided for compatibility.
func (*B) Log ¶ added in v0.8.0
func (c *B) Log(args ...interface{})
Log formats its arguments using default formatting, analogous to Println, and records the text in the error log. For tests, the text will be printed only if the test fails or the -test.v flag is set. For benchmarks, the text is always printed to avoid having performance depend on the value of the -test.v flag.
func (*B) Logf ¶ added in v0.8.0
func (c *B) Logf(format string, args ...interface{})
Logf formats its arguments according to the format, analogous to Printf, and records the text in the error log. A final newline is added if not provided. For tests, the text will be printed only if the test fails or the -test.v flag is set. For benchmarks, the text is always printed to avoid having performance depend on the value of the -test.v flag.
func (*B) Name ¶ added in v0.8.0
func (c *B) Name() string
Name returns the name of the running test or benchmark.
func (*B) Parallel ¶ added in v0.21.0
func (c *B) Parallel()
Parallel is not implemented, it is only provided for compatibility.
func (*B) ReportAllocs ¶ added in v0.21.0
func (b *B) ReportAllocs()
ReportAllocs enables malloc statistics for this benchmark.
func (*B) ResetTimer ¶ added in v0.17.0
func (b *B) ResetTimer()
ResetTimer zeroes the elapsed benchmark time. It does not affect whether the timer is running.
func (*B) Run ¶ added in v0.17.0
Run benchmarks f as a subbenchmark with the given name. It reports true if the subbenchmark succeeded.
A subbenchmark is like any other benchmark. A benchmark that calls Run at least once will not be measured itself and will be called once with N=1.
func (*B) Skip ¶ added in v0.8.0
func (c *B) Skip(args ...interface{})
Skip is equivalent to Log followed by SkipNow.
func (*B) SkipNow ¶ added in v0.8.0
func (c *B) SkipNow()
SkipNow marks the test as having been skipped and stops its execution by calling runtime.Goexit.
func (*B) Skipf ¶ added in v0.8.0
func (c *B) Skipf(format string, args ...interface{})
Skipf is equivalent to Logf followed by SkipNow.
func (*B) Skipped ¶ added in v0.8.0
func (c *B) Skipped() bool
Skipped reports whether the test was skipped.
func (*B) StartTimer ¶ added in v0.20.0
func (b *B) StartTimer()
StartTimer starts timing a test. This function is called automatically before a benchmark starts, but it can also be used to resume timing after a call to StopTimer.
type BenchmarkResult ¶ added in v0.20.0
type BenchmarkResult struct { N int // The number of iterations. T time.Duration // The total time taken. }
BenchmarkResult contains the results of a benchmark run.
func Benchmark ¶ added in v0.20.0
func Benchmark(f func(b *B)) BenchmarkResult
Benchmark benchmarks a single function. It is useful for creating custom benchmarks that do not use the "go test" command.
If f calls Run, the result will be an estimate of running all its subbenchmarks that don't call Run in sequence in a single benchmark.
func (BenchmarkResult) AllocedBytesPerOp ¶ added in v0.20.0
func (r BenchmarkResult) AllocedBytesPerOp() int64
AllocedBytesPerOp returns the "B/op" metric, which is calculated as r.MemBytes / r.N.
func (BenchmarkResult) AllocsPerOp ¶ added in v0.20.0
func (r BenchmarkResult) AllocsPerOp() int64
AllocsPerOp returns the "allocs/op" metric, which is calculated as r.MemAllocs / r.N.
func (BenchmarkResult) NsPerOp ¶ added in v0.20.0
func (r BenchmarkResult) NsPerOp() int64
NsPerOp returns the "ns/op" metric.
type InternalBenchmark ¶ added in v0.15.0
InternalBenchmark is an internal type but exported because it is cross-package; it is part of the implementation of the "go test" command.
type InternalExample ¶ added in v0.15.0
type InternalTest ¶ added in v0.15.0
InternalTest is a reference to a test that should be called during a test suite run.
type M ¶
type M struct { // tests is a list of the test names to execute Tests []InternalTest }
M is a test suite.
func MainStart ¶ added in v0.15.0
func MainStart(deps interface{}, tests []InternalTest, benchmarks []InternalBenchmark, examples []InternalExample) *M
type T ¶
type T struct {
// contains filtered or unexported fields
}
T is a type passed to Test functions to manage test state and support formatted test logs. Logs are accumulated during execution and dumped to standard output when done.
func (*T) Error ¶
func (c *T) Error(args ...interface{})
Error is equivalent to Log followed by Fail.
func (*T) Errorf ¶ added in v0.8.0
func (c *T) Errorf(format string, args ...interface{})
Errorf is equivalent to Logf followed by Fail.
func (*T) Fail ¶
func (c *T) Fail()
Fail marks the function as having failed but continues execution.
func (*T) FailNow ¶ added in v0.8.0
func (c *T) FailNow()
FailNow marks the function as having failed and stops its execution by calling runtime.Goexit (which then runs all deferred calls in the current goroutine).
func (*T) Failed ¶ added in v0.8.0
func (c *T) Failed() bool
Failed reports whether the function has failed.
func (*T) Fatal ¶ added in v0.8.0
func (c *T) Fatal(args ...interface{})
Fatal is equivalent to Log followed by FailNow.
func (*T) Fatalf ¶ added in v0.8.0
func (c *T) Fatalf(format string, args ...interface{})
Fatalf is equivalent to Logf followed by FailNow.
func (*T) Helper ¶ added in v0.17.0
func (c *T) Helper()
Helper is not implemented, it is only provided for compatibility.
func (*T) Log ¶ added in v0.8.0
func (c *T) Log(args ...interface{})
Log formats its arguments using default formatting, analogous to Println, and records the text in the error log. For tests, the text will be printed only if the test fails or the -test.v flag is set. For benchmarks, the text is always printed to avoid having performance depend on the value of the -test.v flag.
func (*T) Logf ¶ added in v0.8.0
func (c *T) Logf(format string, args ...interface{})
Logf formats its arguments according to the format, analogous to Printf, and records the text in the error log. A final newline is added if not provided. For tests, the text will be printed only if the test fails or the -test.v flag is set. For benchmarks, the text is always printed to avoid having performance depend on the value of the -test.v flag.
func (*T) Name ¶ added in v0.8.0
func (c *T) Name() string
Name returns the name of the running test or benchmark.
func (*T) Parallel ¶ added in v0.21.0
func (c *T) Parallel()
Parallel is not implemented, it is only provided for compatibility.
func (*T) Run ¶ added in v0.17.0
Run runs a subtest of f t called name. It waits until the subtest is finished and returns whether the subtest succeeded.
func (*T) Skip ¶ added in v0.8.0
func (c *T) Skip(args ...interface{})
Skip is equivalent to Log followed by SkipNow.
func (*T) SkipNow ¶ added in v0.8.0
func (c *T) SkipNow()
SkipNow marks the test as having been skipped and stops its execution by calling runtime.Goexit.
type TB ¶ added in v0.8.0
type TB interface { Error(args ...interface{}) Errorf(format string, args ...interface{}) Fail() FailNow() Failed() bool Fatal(args ...interface{}) Fatalf(format string, args ...interface{}) Log(args ...interface{}) Logf(format string, args ...interface{}) Name() string Skip(args ...interface{}) SkipNow() Skipf(format string, args ...interface{}) Skipped() bool Helper() Parallel() }
TB is the interface common to T and B.