Documentation ¶
Overview ¶
Package assert 是对 testing 包的一些简单包装
func TestAssert(t *testing.T) { var v interface{} = 5 a := assert.New(t, false) a.True(v==5, "v的值[%v]不等于5", v). Equal(5, v, "v的值[%v]不等于5", v). Nil(v). TB().Log("success") } // 也可以对 testing.B 使用 func Benchmark1(b *testing.B) { a := assert.New(b) a.True(false) for(i:=0; i<b.N; i++) { // do something } }
Index ¶
- func DefaultFailureSprint(f *Failure) string
- func SetFailureSprintFunc(f FailureSprintFunc)
- type Assertion
- func (a *Assertion) Assert(expr bool, f *Failure) *Assertion
- func (a *Assertion) Contains(container, item interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Empty(expr interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Equal(v1, v2 interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Error(expr error, msg ...interface{}) *Assertion
- func (a *Assertion) ErrorIs(expr, target error, msg ...interface{}) *Assertion
- func (a *Assertion) ErrorString(expr error, str string, msg ...interface{}) *Assertion
- func (a *Assertion) False(expr bool, msg ...interface{}) *Assertion
- func (a *Assertion) FileExists(path string, msg ...interface{}) *Assertion
- func (a *Assertion) FileExistsFS(fsys fs.FS, path string, msg ...interface{}) *Assertion
- func (a *Assertion) FileNotExists(path string, msg ...interface{}) *Assertion
- func (a *Assertion) FileNotExistsFS(fsys fs.FS, path string, msg ...interface{}) *Assertion
- func (a *Assertion) Length(v interface{}, l int, msg ...interface{}) *Assertion
- func (a *Assertion) Nil(expr interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) NotContains(container, item interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) NotEmpty(expr interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) NotEqual(v1, v2 interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) NotError(expr error, msg ...interface{}) *Assertion
- func (a *Assertion) NotLength(v interface{}, l int, msg ...interface{}) *Assertion
- func (a *Assertion) NotNil(expr interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) NotPanic(fn func(), msg ...interface{}) *Assertion
- func (a *Assertion) NotSame(v1, v2 interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) NotZero(v interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Panic(fn func(), msg ...interface{}) *Assertion
- func (a *Assertion) PanicString(fn func(), str string, msg ...interface{}) *Assertion
- func (a *Assertion) PanicType(fn func(), typ interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Same(v1, v2 interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) TB() testing.TB
- func (a *Assertion) True(expr bool, msg ...interface{}) *Assertion
- func (a *Assertion) TypeEqual(ptr bool, v1, v2 interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Zero(v interface{}, msg ...interface{}) *Assertion
- type Failure
- type FailureSprintFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultFailureSprint ¶
DefaultFailureSprint 默认的 FailureSprintFunc 实现
func SetFailureSprintFunc ¶
func SetFailureSprintFunc(f FailureSprintFunc)
SetFailureSprintFunc 设置一个全局的转换方法
New 方法在默认情况下继承由此方法设置的值。
Types ¶
type Assertion ¶
type Assertion struct {
// contains filtered or unexported fields
}
Assertion 可以以对象的方式调用包中的各个断言函数
func (*Assertion) Assert ¶
Assert 断言 expr 条件成立
f 表示在断言失败时输出的信息
普通用户直接使用 Assertion.True 效果是一样的,此函数主要供 Assertion 自身调用。
func (*Assertion) Contains ¶
Contains 断言 container 包含 item 或是包含 item 中的所有项
若 container string、[]byte 和 []rune 类型, 都将会以字符串的形式判断其是否包含 item。 若 container 是个列表(array、slice、map)则判断其元素中是否包含 item 中的 的所有项,或是 item 本身就是 container 中的一个元素。
func (*Assertion) Error ¶
Error 断言有错误发生
传递未初始化的 error 值(var err error = nil),将断言失败
Assertion.NotNil 的特化版本,限定了类型为 error。
func (*Assertion) ErrorString ¶
ErrorString 断言有错误发生且错误信息中包含指定的字符串 str
传递未初始化的 error 值(var err error = nil),将断言失败
func (*Assertion) FileExists ¶
func (*Assertion) FileExistsFS ¶
func (*Assertion) FileNotExists ¶
func (*Assertion) FileNotExistsFS ¶
func (*Assertion) NotContains ¶
NotContains 断言 container 不包含 item 或是不包含 item 中的所有项
func (*Assertion) PanicString ¶
PanicString 断言函数会发生 panic 且 panic 信息中包含指定的字符串内容
func (*Assertion) True ¶
True 断言表达式 expr 为真
args 对应 fmt.Printf 函数中的参数,其中 args[0] 对应第一个参数 format,依次类推, 其它断言函数的 args 参数,功能与此相同。
type Failure ¶
type Failure struct { Action string // 操作名称,比如 Equal,NotEqual 等方法名称。 Values map[string]interface{} // 断言出错时返回的一些额外参数 User string // 断言出错时用户反馈的额外信息 }
Failure 在断言出错时输出的错误信息