Documentation ¶
Overview ¶
Package assert 测试用的断言包
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, false) 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) Between(v interface{}, min, max float64, msg ...interface{}) *Assertion
- func (a *Assertion) BetweenEqual(v interface{}, min, max float64, msg ...interface{}) *Assertion
- func (a *Assertion) BetweenEqualMax(v interface{}, min, max float64, msg ...interface{}) *Assertion
- func (a *Assertion) BetweenEqualMin(v interface{}, min, max float64, msg ...interface{}) *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) Go(f func(*Assertion)) *Assertion
- func (a *Assertion) Greater(v interface{}, val float64, msg ...interface{}) *Assertion
- func (a *Assertion) GreaterEqual(v interface{}, val float64, msg ...interface{}) *Assertion
- func (a *Assertion) IsDir(path string, msg ...interface{}) *Assertion
- func (a *Assertion) IsDirFS(fsys fs.FS, path string, msg ...interface{}) *Assertion
- func (a *Assertion) IsNotDir(path string, msg ...interface{}) *Assertion
- func (a *Assertion) IsNotDirFS(fsys fs.FS, path string, msg ...interface{}) *Assertion
- func (a *Assertion) Length(v interface{}, l int, msg ...interface{}) *Assertion
- func (a *Assertion) Less(v interface{}, val float64, msg ...interface{}) *Assertion
- func (a *Assertion) LessEqual(v interface{}, val float64, msg ...interface{}) *Assertion
- func (a *Assertion) Match(reg *regexp.Regexp, v interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Negative(v interface{}, 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) NotMatch(reg *regexp.Regexp, v interface{}, 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) PanicValue(fn func(), v interface{}, msg ...interface{}) *Assertion
- func (a *Assertion) Positive(v 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) Wait(d time.Duration) *Assertion
- func (a *Assertion) WaitSeconds(s int) *Assertion
- func (a *Assertion) When(expr bool, f func(a *Assertion), 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 是对 testing.TB 的二次包装
func (*Assertion) Assert ¶
Assert 断言 expr 条件成立
f 表示在断言失败时输出的信息
普通用户直接使用 Assertion.True 效果是一样的,此函数主要供 Assertion 自身调用。
func (*Assertion) BetweenEqual ¶ added in v4.2.0
BetweenEqual 断言 v 是否存在于 [min,max] 之间
func (*Assertion) BetweenEqualMax ¶ added in v4.2.0
BetweenEqualMax 断言 v 是否存在于 (min,max] 之间
func (*Assertion) BetweenEqualMin ¶ added in v4.2.0
BetweenEqualMin 断言 v 是否存在于 [min,max) 之间
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) GreaterEqual ¶ added in v4.2.0
func (*Assertion) IsNotDirFS ¶ added in v4.2.0
func (*Assertion) NotContains ¶
NotContains 断言 container 不包含 item 或是不包含 item 中的所有项
func (*Assertion) PanicString ¶
PanicString 断言函数会发生 panic 且 panic 信息中包含指定的字符串内容
func (*Assertion) PanicValue ¶
PanicValue 断言函数会抛出与 v 相同的信息
func (*Assertion) True ¶
True 断言表达式 expr 为真
args 对应 fmt.Printf 函数中的参数,其中 args[0] 对应第一个参数 format,依次类推, 其它断言函数的 args 参数,功能与此相同。
func (*Assertion) WaitSeconds ¶
WaitSeconds 等待 s 秒再执行后续操作
func (*Assertion) When ¶ added in v4.3.0
When 断言 expr 为 true 且在条件成立时调用 f
当有一组依赖 expr 的断言时,可以调用此方法。f 的参数 a 即为当前实例。
type Failure ¶
type Failure struct { Action string // 操作名称,比如 Equal,NotEqual 等方法名称。 Values map[string]interface{} // 断言出错时返回的一些额外参数 // contains filtered or unexported fields }
Failure 在断言出错时输出的错误信息
func NewFailure ¶
NewFailure 声明 Failure 对象
user 表示用户提交的反馈,其第一个元素如果是 string,那么将调用 fmt.Sprintf(user[0], user[1:]...) 对数据进行格式化,否则采用 fmt.Sprint(user...) 格式化数据; kv 表示当前错误返回的数据;
type FailureSprintFunc ¶
FailureSprintFunc 将 Failure 转换成文本的函数
NOTE: 可以使用此方法实现对错误信息的本地化。
func GetFailureSprintFunc ¶
func GetFailureSprintFunc() FailureSprintFunc
GetFailureSprintFunc 获取当前的 FailureSprintFunc 方法