856 lines
21 KiB
HTML
856 lines
21 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
|
||
|
<title>testing - The Go Programming Language</title>
|
||
|
|
||
|
<link type="text/css" rel="stylesheet" href="/doc/style.css">
|
||
|
<script type="text/javascript" src="/doc/godocs.js"></script>
|
||
|
|
||
|
<link rel="search" type="application/opensearchdescription+xml" title="godoc" href="/opensearch.xml" />
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
var _gaq = _gaq || [];
|
||
|
_gaq.push(["_setAccount", "UA-11222381-2"]);
|
||
|
_gaq.push(["_trackPageview"]);
|
||
|
</script>
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<div id="topbar"><div class="container wide">
|
||
|
|
||
|
<form method="GET" action="/search">
|
||
|
<div id="menu">
|
||
|
<a href="/doc/">Documents</a>
|
||
|
<a href="/ref/">References</a>
|
||
|
<a href="/pkg/">Packages</a>
|
||
|
<a href="/project/">The Project</a>
|
||
|
<a href="/help/">Help</a>
|
||
|
<input type="text" id="search" name="q" class="inactive" value="Search">
|
||
|
</div>
|
||
|
<div id="heading"><a href="/">The Go Programming Language</a></div>
|
||
|
</form>
|
||
|
|
||
|
</div></div>
|
||
|
|
||
|
<div id="page" class="wide">
|
||
|
|
||
|
|
||
|
<div id="plusone"><g:plusone size="small" annotation="none"></g:plusone></div>
|
||
|
<h1>Package testing</h1>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div id="nav"></div>
|
||
|
|
||
|
|
||
|
<!--
|
||
|
Copyright 2009 The Go Authors. All rights reserved.
|
||
|
Use of this source code is governed by a BSD-style
|
||
|
license that can be found in the LICENSE file.
|
||
|
-->
|
||
|
|
||
|
|
||
|
<div id="short-nav">
|
||
|
<dl>
|
||
|
<dd><code>import "testing"</code></dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dd><a href="#overview" class="overviewLink">Overview</a></dd>
|
||
|
<dd><a href="#index">Index</a></dd>
|
||
|
|
||
|
|
||
|
<dd><a href="#subdirectories">Subdirectories</a></dd>
|
||
|
|
||
|
</dl>
|
||
|
</div>
|
||
|
<!-- The package's Name is printed as title by the top-level template -->
|
||
|
<div id="overview" class="toggleVisible">
|
||
|
<div class="collapsed">
|
||
|
<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
|
||
|
</div>
|
||
|
<div class="expanded">
|
||
|
<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
|
||
|
<p>
|
||
|
Package testing provides support for automated testing of Go packages.
|
||
|
It is intended to be used in concert with the “go test” command, which automates
|
||
|
execution of any function of the form
|
||
|
</p>
|
||
|
<pre>func TestXxx(*testing.T)
|
||
|
</pre>
|
||
|
<p>
|
||
|
where Xxx can be any alphanumeric string (but the first letter must not be in
|
||
|
[a-z]) and serves to identify the test routine.
|
||
|
These TestXxx routines should be declared within the package they are testing.
|
||
|
</p>
|
||
|
<p>
|
||
|
Functions of the form
|
||
|
</p>
|
||
|
<pre>func BenchmarkXxx(*testing.B)
|
||
|
</pre>
|
||
|
<p>
|
||
|
are considered benchmarks, and are executed by the "go test" command when
|
||
|
the -test.bench flag is provided.
|
||
|
</p>
|
||
|
<p>
|
||
|
A sample benchmark function looks like this:
|
||
|
</p>
|
||
|
<pre>func BenchmarkHello(b *testing.B) {
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
fmt.Sprintf("hello")
|
||
|
}
|
||
|
}
|
||
|
</pre>
|
||
|
<p>
|
||
|
The benchmark package will vary b.N until the benchmark function lasts
|
||
|
long enough to be timed reliably. The output
|
||
|
</p>
|
||
|
<pre>testing.BenchmarkHello 10000000 282 ns/op
|
||
|
</pre>
|
||
|
<p>
|
||
|
means that the loop ran 10000000 times at a speed of 282 ns per loop.
|
||
|
</p>
|
||
|
<p>
|
||
|
If a benchmark needs some expensive setup before running, the timer
|
||
|
may be stopped:
|
||
|
</p>
|
||
|
<pre>func BenchmarkBigLen(b *testing.B) {
|
||
|
b.StopTimer()
|
||
|
big := NewBig()
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
big.Len()
|
||
|
}
|
||
|
}
|
||
|
</pre>
|
||
|
<p>
|
||
|
The package also runs and verifies example code. Example functions may
|
||
|
include a concluding comment that begins with "Output:" and is compared with
|
||
|
the standard output of the function when the tests are run, as in these
|
||
|
examples of an example:
|
||
|
</p>
|
||
|
<pre>func ExampleHello() {
|
||
|
fmt.Println("hello")
|
||
|
// Output: hello
|
||
|
}
|
||
|
|
||
|
func ExampleSalutations() {
|
||
|
fmt.Println("hello, and")
|
||
|
fmt.Println("goodbye")
|
||
|
// Output:
|
||
|
// hello, and
|
||
|
// goodbye
|
||
|
}
|
||
|
</pre>
|
||
|
<p>
|
||
|
Example functions without output comments are compiled but not executed.
|
||
|
</p>
|
||
|
<p>
|
||
|
The naming convention to declare examples for a function F, a type T and
|
||
|
method M on type T are:
|
||
|
</p>
|
||
|
<pre>func ExampleF() { ... }
|
||
|
func ExampleT() { ... }
|
||
|
func ExampleT_M() { ... }
|
||
|
</pre>
|
||
|
<p>
|
||
|
Multiple example functions for a type/function/method may be provided by
|
||
|
appending a distinct suffix to the name. The suffix must start with a
|
||
|
lower-case letter.
|
||
|
</p>
|
||
|
<pre>func ExampleF_suffix() { ... }
|
||
|
func ExampleT_suffix() { ... }
|
||
|
func ExampleT_M_suffix() { ... }
|
||
|
</pre>
|
||
|
<p>
|
||
|
The entire test file is presented as the example when it contains a single
|
||
|
example function, at least one other function, type, variable, or constant
|
||
|
declaration, and no test or benchmark functions.
|
||
|
</p>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<h2 id="index">Index</h2>
|
||
|
<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
|
||
|
<div id="manual-nav">
|
||
|
<dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#Main">func Main(matchString func(pat, str string) (bool, error), tests []InternalTest, benchmarks []InternalBenchmark, examples []InternalExample)</a></dd>
|
||
|
|
||
|
|
||
|
<dd><a href="#RunBenchmarks">func RunBenchmarks(matchString func(pat, str string) (bool, error), benchmarks []InternalBenchmark)</a></dd>
|
||
|
|
||
|
|
||
|
<dd><a href="#RunExamples">func RunExamples(matchString func(pat, str string) (bool, error), examples []InternalExample) (ok bool)</a></dd>
|
||
|
|
||
|
|
||
|
<dd><a href="#RunTests">func RunTests(matchString func(pat, str string) (bool, error), tests []InternalTest) (ok bool)</a></dd>
|
||
|
|
||
|
|
||
|
<dd><a href="#Short">func Short() bool</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#B">type B</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Error">func (c *B) Error(args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Errorf">func (c *B) Errorf(format string, args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Fail">func (c *B) Fail()</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.FailNow">func (c *B) FailNow()</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Failed">func (c *B) Failed() bool</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Fatal">func (c *B) Fatal(args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Fatalf">func (c *B) Fatalf(format string, args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Log">func (c *B) Log(args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.Logf">func (c *B) Logf(format string, args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.ResetTimer">func (b *B) ResetTimer()</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.SetBytes">func (b *B) SetBytes(n int64)</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.StartTimer">func (b *B) StartTimer()</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#B.StopTimer">func (b *B) StopTimer()</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#BenchmarkResult">type BenchmarkResult</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#Benchmark">func Benchmark(f func(b *B)) BenchmarkResult</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
<dd> <a href="#BenchmarkResult.NsPerOp">func (r BenchmarkResult) NsPerOp() int64</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#BenchmarkResult.String">func (r BenchmarkResult) String() string</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#InternalBenchmark">type InternalBenchmark</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#InternalExample">type InternalExample</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#InternalTest">type InternalTest</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dd><a href="#T">type T</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Error">func (c *T) Error(args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Errorf">func (c *T) Errorf(format string, args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Fail">func (c *T) Fail()</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.FailNow">func (c *T) FailNow()</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Failed">func (c *T) Failed() bool</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Fatal">func (c *T) Fatal(args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Fatalf">func (c *T) Fatalf(format string, args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Log">func (c *T) Log(args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Logf">func (c *T) Logf(format string, args ...interface{})</a></dd>
|
||
|
|
||
|
|
||
|
<dd> <a href="#T.Parallel">func (t *T) Parallel()</a></dd>
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h4>Package files</h4>
|
||
|
<p>
|
||
|
<span style="font-size:90%">
|
||
|
|
||
|
<a href="/src/pkg/testing/benchmark.go">benchmark.go</a>
|
||
|
|
||
|
<a href="/src/pkg/testing/example.go">example.go</a>
|
||
|
|
||
|
<a href="/src/pkg/testing/testing.go">testing.go</a>
|
||
|
|
||
|
</span>
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="Main">func <a href="/src/pkg/testing/testing.go?s=9750:9890#L268">Main</a></h2>
|
||
|
<pre>func Main(matchString func(pat, str string) (bool, error), tests []InternalTest, benchmarks []InternalBenchmark, examples []InternalExample)</pre>
|
||
|
<p>
|
||
|
An internal function but exported because it is cross-package; part of the implementation
|
||
|
of the "go test" command.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="RunBenchmarks">func <a href="/src/pkg/testing/benchmark.go?s=5365:5464#L207">RunBenchmarks</a></h2>
|
||
|
<pre>func RunBenchmarks(matchString func(pat, str string) (bool, error), benchmarks []InternalBenchmark)</pre>
|
||
|
<p>
|
||
|
An internal function but exported because it is cross-package; part of the implementation
|
||
|
of the "go test" command.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="RunExamples">func <a href="/src/pkg/testing/example.go?s=314:417#L12">RunExamples</a></h2>
|
||
|
<pre>func RunExamples(matchString func(pat, str string) (bool, error), examples []InternalExample) (ok bool)</pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="RunTests">func <a href="/src/pkg/testing/testing.go?s=10486:10580#L297">RunTests</a></h2>
|
||
|
<pre>func RunTests(matchString func(pat, str string) (bool, error), tests []InternalTest) (ok bool)</pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="Short">func <a href="/src/pkg/testing/testing.go?s=4859:4876#L117">Short</a></h2>
|
||
|
<pre>func Short() bool</pre>
|
||
|
<p>
|
||
|
Short reports whether the -test.short flag is set.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="B">type <a href="/src/pkg/testing/benchmark.go?s=743:872#L17">B</a></h2>
|
||
|
<pre>type B struct {
|
||
|
N int
|
||
|
<span class="comment">// contains filtered or unexported fields</span>
|
||
|
}</pre>
|
||
|
<p>
|
||
|
B is a type passed to Benchmark functions to manage benchmark
|
||
|
timing and to specify the number of iterations to run.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Error">func (*B) <a href="/src/pkg/testing/testing.go?s=8110:8153#L209">Error</a></h3>
|
||
|
<pre>func (c *B) Error(args ...interface{})</pre>
|
||
|
<p>
|
||
|
Error is equivalent to Log() followed by Fail().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Errorf">func (*B) <a href="/src/pkg/testing/testing.go?s=8253:8312#L215">Errorf</a></h3>
|
||
|
<pre>func (c *B) Errorf(format string, args ...interface{})</pre>
|
||
|
<p>
|
||
|
Errorf is equivalent to Logf() followed by Fail().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Fail">func (*B) <a href="/src/pkg/testing/testing.go?s=6270:6293#L163">Fail</a></h3>
|
||
|
<pre>func (c *B) Fail()</pre>
|
||
|
<p>
|
||
|
Fail marks the function as having failed but continues execution.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.FailNow">func (*B) <a href="/src/pkg/testing/testing.go?s=6548:6574#L170">FailNow</a></h3>
|
||
|
<pre>func (c *B) FailNow()</pre>
|
||
|
<p>
|
||
|
FailNow marks the function as having failed and stops its execution.
|
||
|
Execution will continue at the next test or benchmark.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Failed">func (*B) <a href="/src/pkg/testing/testing.go?s=6366:6396#L166">Failed</a></h3>
|
||
|
<pre>func (c *B) Failed() bool</pre>
|
||
|
<p>
|
||
|
Failed returns whether the function has failed.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Fatal">func (*B) <a href="/src/pkg/testing/testing.go?s=8420:8463#L221">Fatal</a></h3>
|
||
|
<pre>func (c *B) Fatal(args ...interface{})</pre>
|
||
|
<p>
|
||
|
Fatal is equivalent to Log() followed by FailNow().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Fatalf">func (*B) <a href="/src/pkg/testing/testing.go?s=8569:8628#L227">Fatalf</a></h3>
|
||
|
<pre>func (c *B) Fatalf(format string, args ...interface{})</pre>
|
||
|
<p>
|
||
|
Fatalf is equivalent to Logf() followed by FailNow().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Log">func (*B) <a href="/src/pkg/testing/testing.go?s=7763:7804#L202">Log</a></h3>
|
||
|
<pre>func (c *B) Log(args ...interface{})</pre>
|
||
|
<p>
|
||
|
Log formats its arguments using default formatting, analogous to Println(),
|
||
|
and records the text in the error log.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.Logf">func (*B) <a href="/src/pkg/testing/testing.go?s=7959:8016#L206">Logf</a></h3>
|
||
|
<pre>func (c *B) Logf(format string, args ...interface{})</pre>
|
||
|
<p>
|
||
|
Logf formats its arguments according to the format, analogous to Printf(),
|
||
|
and records the text in the error log.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.ResetTimer">func (*B) <a href="/src/pkg/testing/benchmark.go?s=1503:1527#L48">ResetTimer</a></h3>
|
||
|
<pre>func (b *B) ResetTimer()</pre>
|
||
|
<p>
|
||
|
ResetTimer sets the elapsed benchmark time to zero.
|
||
|
It does not affect whether the timer is running.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.SetBytes">func (*B) <a href="/src/pkg/testing/benchmark.go?s=1728:1757#L57">SetBytes</a></h3>
|
||
|
<pre>func (b *B) SetBytes(n int64)</pre>
|
||
|
<p>
|
||
|
SetBytes records the number of bytes processed in a single operation.
|
||
|
If this is called, the benchmark will report ns/op and MB/s.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.StartTimer">func (*B) <a href="/src/pkg/testing/benchmark.go?s=1047:1071#L29">StartTimer</a></h3>
|
||
|
<pre>func (b *B) StartTimer()</pre>
|
||
|
<p>
|
||
|
StartTimer starts timing a test. This function is called automatically
|
||
|
before a benchmark starts, but it can also used to resume timing after
|
||
|
a call to StopTimer.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="B.StopTimer">func (*B) <a href="/src/pkg/testing/benchmark.go?s=1288:1311#L39">StopTimer</a></h3>
|
||
|
<pre>func (b *B) StopTimer()</pre>
|
||
|
<p>
|
||
|
StopTimer stops timing a test. This can be used to pause the timer
|
||
|
while performing complex initialization that you don't
|
||
|
want to measure.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="BenchmarkResult">type <a href="/src/pkg/testing/benchmark.go?s=4206:4391#L165">BenchmarkResult</a></h2>
|
||
|
<pre>type BenchmarkResult struct {
|
||
|
N int <span class="comment">// The number of iterations.</span>
|
||
|
T time.Duration <span class="comment">// The total time taken.</span>
|
||
|
Bytes int64 <span class="comment">// Bytes processed in one iteration.</span>
|
||
|
}</pre>
|
||
|
<p>
|
||
|
The results of a benchmark run.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="Benchmark">func <a href="/src/pkg/testing/benchmark.go?s=7545:7589#L275">Benchmark</a></h3>
|
||
|
<pre>func Benchmark(f func(b *B)) BenchmarkResult</pre>
|
||
|
<p>
|
||
|
Benchmark benchmarks a single function. Useful for creating
|
||
|
custom benchmarks that do not use the "go test" command.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="BenchmarkResult.NsPerOp">func (BenchmarkResult) <a href="/src/pkg/testing/benchmark.go?s=4393:4433#L171">NsPerOp</a></h3>
|
||
|
<pre>func (r BenchmarkResult) NsPerOp() int64</pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="BenchmarkResult.String">func (BenchmarkResult) <a href="/src/pkg/testing/benchmark.go?s=4677:4717#L185">String</a></h3>
|
||
|
<pre>func (r BenchmarkResult) String() string</pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="InternalBenchmark">type <a href="/src/pkg/testing/benchmark.go?s=555:618#L10">InternalBenchmark</a></h2>
|
||
|
<pre>type InternalBenchmark struct {
|
||
|
Name string
|
||
|
F func(b *B)
|
||
|
}</pre>
|
||
|
<p>
|
||
|
An internal type but exported because it is cross-package; part of the implementation
|
||
|
of the "go test" command.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="InternalExample">type <a href="/src/pkg/testing/example.go?s=236:312#L6">InternalExample</a></h2>
|
||
|
<pre>type InternalExample struct {
|
||
|
Name string
|
||
|
F func()
|
||
|
Output string
|
||
|
}</pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="InternalTest">type <a href="/src/pkg/testing/testing.go?s=9065:9121#L241">InternalTest</a></h2>
|
||
|
<pre>type InternalTest struct {
|
||
|
Name string
|
||
|
F func(*T)
|
||
|
}</pre>
|
||
|
<p>
|
||
|
An internal type but exported because it is cross-package; part of the implementation
|
||
|
of the "go test" command.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="T">type <a href="/src/pkg/testing/testing.go?s=6070:6199#L156">T</a></h2>
|
||
|
<pre>type T struct {
|
||
|
<span class="comment">// contains filtered or unexported fields</span>
|
||
|
}</pre>
|
||
|
<p>
|
||
|
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 error when done.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Error">func (*T) <a href="/src/pkg/testing/testing.go?s=8110:8153#L209">Error</a></h3>
|
||
|
<pre>func (c *T) Error(args ...interface{})</pre>
|
||
|
<p>
|
||
|
Error is equivalent to Log() followed by Fail().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Errorf">func (*T) <a href="/src/pkg/testing/testing.go?s=8253:8312#L215">Errorf</a></h3>
|
||
|
<pre>func (c *T) Errorf(format string, args ...interface{})</pre>
|
||
|
<p>
|
||
|
Errorf is equivalent to Logf() followed by Fail().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Fail">func (*T) <a href="/src/pkg/testing/testing.go?s=6270:6293#L163">Fail</a></h3>
|
||
|
<pre>func (c *T) Fail()</pre>
|
||
|
<p>
|
||
|
Fail marks the function as having failed but continues execution.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.FailNow">func (*T) <a href="/src/pkg/testing/testing.go?s=6548:6574#L170">FailNow</a></h3>
|
||
|
<pre>func (c *T) FailNow()</pre>
|
||
|
<p>
|
||
|
FailNow marks the function as having failed and stops its execution.
|
||
|
Execution will continue at the next test or benchmark.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Failed">func (*T) <a href="/src/pkg/testing/testing.go?s=6366:6396#L166">Failed</a></h3>
|
||
|
<pre>func (c *T) Failed() bool</pre>
|
||
|
<p>
|
||
|
Failed returns whether the function has failed.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Fatal">func (*T) <a href="/src/pkg/testing/testing.go?s=8420:8463#L221">Fatal</a></h3>
|
||
|
<pre>func (c *T) Fatal(args ...interface{})</pre>
|
||
|
<p>
|
||
|
Fatal is equivalent to Log() followed by FailNow().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Fatalf">func (*T) <a href="/src/pkg/testing/testing.go?s=8569:8628#L227">Fatalf</a></h3>
|
||
|
<pre>func (c *T) Fatalf(format string, args ...interface{})</pre>
|
||
|
<p>
|
||
|
Fatalf is equivalent to Logf() followed by FailNow().
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Log">func (*T) <a href="/src/pkg/testing/testing.go?s=7763:7804#L202">Log</a></h3>
|
||
|
<pre>func (c *T) Log(args ...interface{})</pre>
|
||
|
<p>
|
||
|
Log formats its arguments using default formatting, analogous to Println(),
|
||
|
and records the text in the error log.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Logf">func (*T) <a href="/src/pkg/testing/testing.go?s=7959:8016#L206">Logf</a></h3>
|
||
|
<pre>func (c *T) Logf(format string, args ...interface{})</pre>
|
||
|
<p>
|
||
|
Logf formats its arguments according to the format, analogous to Printf(),
|
||
|
and records the text in the error log.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 id="T.Parallel">func (*T) <a href="/src/pkg/testing/testing.go?s=8809:8831#L234">Parallel</a></h3>
|
||
|
<pre>func (t *T) Parallel()</pre>
|
||
|
<p>
|
||
|
Parallel signals that this test is to be run in parallel with (and only with)
|
||
|
other parallel tests in this CPU group.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h2 id="subdirectories">Subdirectories</h2>
|
||
|
|
||
|
<table class="dir">
|
||
|
<tr>
|
||
|
<th>Name</th>
|
||
|
<th> </th>
|
||
|
<th style="text-align: left; width: auto">Synopsis</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><a href="..">..</a></td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
<td class="name"><a href="iotest">iotest</a></td>
|
||
|
<td> </td>
|
||
|
<td style="width: auto">Package iotest implements Readers and Writers useful mainly for testing.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
<td class="name"><a href="quick">quick</a></td>
|
||
|
<td> </td>
|
||
|
<td style="width: auto">Package quick implements utility functions to help with black box testing.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div id="footer">
|
||
|
Build version go1.0.2.<br>
|
||
|
Except as <a href="http://code.google.com/policies.html#restrictions">noted</a>,
|
||
|
the content of this page is licensed under the
|
||
|
Creative Commons Attribution 3.0 License,
|
||
|
and code is licensed under a <a href="/LICENSE">BSD license</a>.<br>
|
||
|
<a href="/doc/tos.html">Terms of Service</a> |
|
||
|
<a href="http://www.google.com/intl/en/privacy/privacy-policy.html">Privacy Policy</a>
|
||
|
</div>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
(function() {
|
||
|
var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
|
||
|
ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
|
||
|
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
|
||
|
})();
|
||
|
</script>
|
||
|
</body>
|
||
|
<script type="text/javascript">
|
||
|
(function() {
|
||
|
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
|
||
|
po.src = 'https://apis.google.com/js/plusone.js';
|
||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
|
||
|
})();
|
||
|
</script>
|
||
|
</html>
|
||
|
|