assert.Equal(t,"jack", c,"商品名称必须是 jack") }//GetUserName 获取用户名称func GetUserName(userIDint)string{//从redis获取用户名称//如果redis没有就查询数据库return"jack"}//1 基准测试的代码文件必须以_test.go结尾//2 基准测试的函数必须以Benchmark开头
assert.Equal(t, tt.want, got) assert.Equal(t, tt.wantErr, err != nil) } } 分析代码生成测试用例 对checkUsername、checkEmail纯逻辑函数编写测试用例,这里以checkEmail为例。 func Test_checkEmail(t *testing.T) { type args struct { email string } tests := []struct { name string args args...
3.1. assert func TestSomething(t *testing.T) { //断言相等 assert.Equal(t, 123, 123, "they should be equal") //断言不相等 assert.NotEqual(t, 123, 456, "they should not be equal") //对于nil的断言 assert.Nil(t, object) //对于非nil的断言 if assert.NotNil(t, object) { // now...
标准库"testing" "github.com/stretchr/testify/assert" funcTestDemo(t *testing.T){ assert.Nil(t,nil) assert.NotNil(t,struct{}{}) assert.Equal(t,5,5) assert.NotEqual(t,5,6) } 执行go test <filename> -v-v 参数是查看详细结果 2.testify Mock Mock : 一些测试需要调用第三方服务,但是因为...
w := httptest.NewRecorder() // 让server端处理mock请求并记录返回的响应内容 r.ServeHTTP(w, req) // 校验状态码是否符合预期 assert.Equal(t, http.StatusOK, w.Code) // 解析并检验响应内容是否复合预期 var resp map[string]string err := json.Unmarshal([]byte(w.Body.String()), &resp) ...
另一个相对轻量级的库是testify/assert,它添加了诸如assert.Equal()之类的通用断言函数。 testify/suite则添加了诸如setup和teardown之类的测试套件实用工具。 "Awesome Go"网站提供了此类第三方软件包的详尽列表。 还一个不包含在测试包中的有用的测试工具是reflect.DeepEqual(),这是一个标准库函数,它用反射来测试深...
一个test文件中只能有一个Fuzz函数。 Assert.Equal函数也是第三方包testify中的函数,此处用的是convey包中的So断言函数。 f.Fuzz函数中func参数中从第二个参数开始可以自定义传参类型,其个数和参数类型必须和f.Add函数的参数个数和类型一致。 代码语言:go AI代码解释 import ( "os" "testing" "github.com/smar...
assert.Equal(t, got, tt.want) // 使用assert提供的断言函数}) 1. 2. 3. 4. 当我们有多个断言语句时,还可以使用assert := assert.New(t)创建一个assert对象,它拥有前面所有的断言方法,只是不需要再传入Testing.T参数了。 func TestSomething(t *testing.T) { assert...
func TestListPosts(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() mockBlog := mblog.NewMockBlog(ctrl) mockBlog.EXPECT().ListPosts().Return([]Post{}) service := NewService(mockBlog) assert.Equal(t, []Post{}, service.ListPosts()) ...
{ { name: "HappyPath": first: 2, second: 3, expected: 5, }, { name: "NegativeNumber": first: -1, second: -1, expected: -2, }, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { assert.Equal(t, test.expected, Add(test.first, test.second)) }) ...