Documentation
¶
Index ¶
- func DefaultFlags(flags ...string)
- func Each(t Testable, iteratee interface{}) (count int)
- func EnsureCoverage(path string, min float64) error
- func Parallel() (n int)
- type Assertions
- func (as Assertions) Count(n int) func()
- func (as Assertions) Desc(format string, args ...interface{}) Assertions
- func (as Assertions) E(args ...interface{})
- func (as Assertions) Eq(x, y interface{})
- func (as Assertions) Equal(x, y interface{})
- func (as Assertions) Err(args ...interface{})
- func (as Assertions) False(x bool)
- func (as Assertions) Gt(x, y interface{})
- func (as Assertions) Gte(x, y interface{})
- func (as Assertions) Has(container, str string)
- func (as Assertions) InDelta(x, y interface{}, delta float64)
- func (as Assertions) Is(x, y interface{})
- func (as Assertions) Len(list interface{}, l int)
- func (as Assertions) Lt(x, y interface{})
- func (as Assertions) Lte(x, y interface{})
- func (as Assertions) Must() Assertions
- func (as Assertions) Neq(x, y interface{})
- func (as Assertions) Nil(args ...interface{})
- func (as Assertions) NotNil(args ...interface{})
- func (as Assertions) NotZero(x interface{})
- func (as Assertions) Panic(fn func())
- func (as Assertions) Regex(pattern, str string)
- func (as Assertions) True(x bool)
- func (as Assertions) Zero(x interface{})
- type Context
- type G
- type Only
- type Options
- type ReqMIME
- type ResHelper
- type Router
- type Skip
- type Testable
- type Utils
- func (ut Utils) Context() Context
- func (ut Utils) DoAfter(d time.Duration, do func()) (cancel func())
- func (ut Utils) Error(args ...interface{})
- func (ut Utils) Errorf(format string, args ...interface{})
- func (ut Utils) Fatal(args ...interface{})
- func (ut Utils) Fatalf(format string, args ...interface{})
- func (ut Utils) HandleHTTP(file string, value ...interface{}) func(http.ResponseWriter, *http.Request)
- func (ut Utils) JSON(src interface{}) (v interface{})
- func (ut Utils) Log(args ...interface{})
- func (ut Utils) Open(create bool, path ...string) (f *os.File)
- func (ut Utils) PanicAfter(d time.Duration) (cancel func())
- func (ut Utils) Parallel() Utils
- func (ut Utils) Read(r io.Reader) *bytes.Buffer
- func (ut Utils) Req(method, url string, options ...interface{}) *ResHelper
- func (ut Utils) Run(name string, f func(t G)) bool
- func (ut Utils) Serve() *Router
- func (ut Utils) Skip(args ...interface{})
- func (ut Utils) Skipf(format string, args ...interface{})
- func (ut Utils) Srand(l int) string
- func (ut Utils) Timeout(d time.Duration) Context
- func (ut Utils) ToJSON(obj interface{}) *bytes.Buffer
- func (ut Utils) ToJSONString(obj interface{}) string
- func (ut Utils) Write(obj interface{}) (writer func(io.Writer))
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultFlags ¶ added in v0.6.2
func DefaultFlags(flags ...string)
DefaultFlags will set the "go test" flag if not yet presented. It must be executed in the init() function. Such as the timeout:
DefaultFlags("timeout=10s")
func Each ¶ added in v0.0.3
Each runs each exported method Fn on type Ctx as a subtest of t. The iteratee can be a struct Ctx or:
iteratee(t Testable) (ctx Ctx)
Each Fn will be called like:
ctx.Fn()
If iteratee is Ctx, its G field will be set to New(t) for each test. Any Fn that has the same name with the embedded one will be ignored.
func EnsureCoverage ¶ added in v0.8.7
EnsureCoverage via report file generated from, for example:
go test -coverprofile=coverage.out
Return error if any functions's coverage is less than min, min is a percentage value.
Types ¶
type Assertions ¶ added in v0.4.1
type Assertions struct { Testable // contains filtered or unexported fields }
Assertions helpers
func (Assertions) Count ¶ added in v0.8.4
func (as Assertions) Count(n int) func()
Count asserts that the returned function will be called n times
func (Assertions) Desc ¶ added in v0.12.0
func (as Assertions) Desc(format string, args ...interface{}) Assertions
Desc returns a clone with the description for failure enabled
func (Assertions) E ¶ added in v0.4.1
func (as Assertions) E(args ...interface{})
E is a shortcut for Must().Nil(args...)
func (Assertions) Eq ¶ added in v0.4.1
func (as Assertions) Eq(x, y interface{})
Eq asserts that x equals y when converted to the same type, such as compare float 1.0 and integer 1 . For strict value and type comparison use Assertions.Equal .
func (Assertions) Equal ¶ added in v0.4.1
func (as Assertions) Equal(x, y interface{})
Equal asserts that x equals y. For loose type comparison use Assertions.Eq, such as compare float 1.0 and integer 1 .
func (Assertions) Err ¶ added in v0.4.1
func (as Assertions) Err(args ...interface{})
Err asserts that the last item in args is error
func (Assertions) False ¶ added in v0.4.1
func (as Assertions) False(x bool)
False asserts that x is false.
func (Assertions) Gt ¶ added in v0.4.1
func (as Assertions) Gt(x, y interface{})
Gt asserts that x is greater than y.
func (Assertions) Gte ¶ added in v0.4.1
func (as Assertions) Gte(x, y interface{})
Gte asserts that x is greater than or equal to y.
func (Assertions) Has ¶ added in v0.4.1
func (as Assertions) Has(container, str string)
Has asserts that container contains str
func (Assertions) InDelta ¶ added in v0.16.1
func (as Assertions) InDelta(x, y interface{}, delta float64)
InDelta asserts that x and y are within the delta of each other.
func (Assertions) Is ¶ added in v0.4.1
func (as Assertions) Is(x, y interface{})
Is asserts that x is kind of y, it uses reflect.Kind to compare. If x and y are both error type, it will use errors.Is to compare.
func (Assertions) Len ¶ added in v0.4.1
func (as Assertions) Len(list interface{}, l int)
Len asserts that the length of list equals l
func (Assertions) Lt ¶ added in v0.4.1
func (as Assertions) Lt(x, y interface{})
Lt asserts that x is less than y.
func (Assertions) Lte ¶ added in v0.4.1
func (as Assertions) Lte(x, y interface{})
Lte asserts that x is less than or equal to b.
func (Assertions) Must ¶ added in v0.12.0
func (as Assertions) Must() Assertions
Must returns a clone with the FailNow enabled
func (Assertions) Neq ¶ added in v0.4.1
func (as Assertions) Neq(x, y interface{})
Neq asserts that x not equals y even when converted to the same type.
func (Assertions) Nil ¶ added in v0.4.1
func (as Assertions) Nil(args ...interface{})
Nil asserts that the last item in args is nilable and nil
func (Assertions) NotNil ¶ added in v0.4.1
func (as Assertions) NotNil(args ...interface{})
NotNil asserts that the last item in args is nilable and not nil
func (Assertions) NotZero ¶ added in v0.15.0
func (as Assertions) NotZero(x interface{})
NotZero asserts that x is not zero value for its type.
func (Assertions) Panic ¶ added in v0.4.1
func (as Assertions) Panic(fn func())
Panic executes fn and asserts that fn panics
func (Assertions) Regex ¶ added in v0.4.1
func (as Assertions) Regex(pattern, str string)
Regex asserts that str matches the regex pattern
func (Assertions) True ¶ added in v0.4.1
func (as Assertions) True(x bool)
True asserts that x is true.
func (Assertions) Zero ¶ added in v0.15.0
func (as Assertions) Zero(x interface{})
Zero asserts x is zero value for its type.
type G ¶ added in v0.2.0
type G struct { Testable Assertions Utils }
G is the helper context, it provides some handy helpers for testing
func New ¶ added in v0.0.3
New G instance. It will respect https://no-color.org/
type Options ¶ added in v0.1.0
type Options struct { // Dump a value to human readable string Dump func(interface{}) string // Format keywords in the assertion message. // Such as color it for CLI output. Keyword func(string) string // Diff function for Assertions.Eq Diff func(a, b interface{}) string }
Options for Assertion
type ReqMIME ¶ added in v0.11.0
type ReqMIME string
ReqMIME option type, it should be like ".json", "test.json", "a/b/c.jpg", etc
type Router ¶ added in v0.2.0
type Router struct { HostURL *url.URL Server *http.Server Mux *http.ServeMux // contains filtered or unexported fields }
Router of a http server
type Testable ¶ added in v0.0.3
type Testable interface { Name() string // same as testing.common.Name Skipped() bool // same as testing.common.Skipped Failed() bool // same as testing.common.Failed Cleanup(func()) // same as testing.common.Cleanup FailNow() // same as testing.common.FailNow Fail() // same as testing.common.Fail Helper() // same as testing.common.Helper Logf(format string, args ...interface{}) // same as testing.common.Logf SkipNow() // same as testing.common.Skip }
Testable interface. Usually, you use *testing.T as it.
type Utils ¶ added in v0.4.2
type Utils struct {
Testable
}
Utils for commonly used methods
func (Utils) Error ¶ added in v0.4.2
func (ut Utils) Error(args ...interface{})
Error is the same as testing.common.Error
func (Utils) Fatal ¶ added in v0.4.2
func (ut Utils) Fatal(args ...interface{})
Fatal is the same as testing.common.Fatal
func (Utils) HandleHTTP ¶ added in v0.4.2
func (ut Utils) HandleHTTP(file string, value ...interface{}) func(http.ResponseWriter, *http.Request)
HandleHTTP handles a request. If file exists serve the file content. The file will be used to set the Content-Type header. If the file doesn't exist, the value will be encoded by G.Write(value) and used as the response body.
func (Utils) JSON ¶ added in v0.4.2
func (ut Utils) JSON(src interface{}) (v interface{})
JSON from string, []byte, or io.Reader
func (Utils) Log ¶ added in v0.4.2
func (ut Utils) Log(args ...interface{})
Log is the same as testing.common.Log
func (Utils) Open ¶ added in v0.4.2
Open a file. Override it if create is true. Directories will be auto-created. path will be joined with filepath.Join so that it's cross-platform
func (Utils) PanicAfter ¶ added in v0.7.0
PanicAfter d duration if the test is still running
func (Utils) Req ¶ added in v0.4.2
Req the url. The method is the http method, default value is "GET". If an option is http.Header, it will be used as the request header. If an option is Utils.ReqMIME, it will be used to set the Content-Type header. Other option type will be treat as request body, it will be encoded by Utils.Write .
func (Utils) Serve ¶ added in v0.4.2
Serve http on a random port. The server will be auto-closed after the test.
func (Utils) Skip ¶ added in v0.4.2
func (ut Utils) Skip(args ...interface{})
Skip is the same as testing.common.Skip
func (Utils) ToJSONString ¶ added in v0.10.0
ToJSONString convert obj to JSON string