Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

issue9/assert

Repository files navigation

assert

Go codecov license PkgGoDev Go version

assert 包是对 testing 的一个简单扩展,提供的一系列的断言函数, 方便在测试函数中使用:

func TestA(t *testing.T) {
 v := true
 a := assert.New(t, false)
 a.True(v)
}
// 也可以对 testing.B 使用
func Benchmark1(b *testing.B) {
 a := assert.New(b, false)
 v := false
 a.True(v)
 for(i:=0; i<b.N; i++) {
 // do something
 }
}
// 对 API 请求做测试,可以引用 assert/rest
func TestHTTP( t *testing.T) {
 a := assert.New(t, false)
 srv := rest.NewServer(a, h, nil)
 a.NotNil(srv)
 defer srv.Close()
 srv.NewRequest(http.MethodGet, "/body").
 Header("content-type", "application/json").
 Query("page", "5").
 JSONBody(&bodyTest{ID: 5}).
 Do().
 Status(http.StatusCreated).
 Header("content-type", "application/json;charset=utf-8").
 JSONBody(&bodyTest{ID: 6})
}

也可以直接对原始数据进行测试。

// 请求数据
req :=`POST /users HTTP/1.1
Host: example.com
Content-type: application/json

{"username": "admin", "password":"123"}

`
// 期望的返回数据
resp :=`HTTP/1.1 201
Location: https://example.com/users/1
`
func TestRaw(t *testing.T) {
 a := assert.New(t, false)
 rest.RawHTTP(a, nil,req, resp)
}

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /