assert.Contains([]string{"Hello", "World"}, "Hello") assert.True(true) assert.True(false) t.Log("next ...") var s []string assert.Empty(s) assert.Nil(s) t.Log("end ...") } // 一般用的更多的是表驱动方式把同一个单元的测试用例都
标准库"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 : 一些测试需要调用第三方服务,但是因为...
Go 单元测试框架是相当易用的,其它的第三方库基本都是建立在 testing 原生框架的基础上进行的增补扩充,在日常开发中,原生包可以满足基本需求,但同样也有缺陷,原生包不提供断言的语法使得代码中的这种片段非常多: 所以引入了 convey、assert 包的断言语句,用于简化判断逻辑,使得程序更加易读。 在完成项目单测时,遇到...
testify 提供了 assert 和 require,让你可以简洁地写出if xxx { t.Fail() } 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.N...
assert.Equal(t,"jack", c,"商品名称必须是 jack") }//GetUserName 获取用户名称func GetUserName(userIDint)string{//从redis获取用户名称//如果redis没有就查询数据库return"jack"}//1 基准测试的代码文件必须以_test.go结尾//2 基准测试的函数必须以Benchmark开头,必须是可导出的//3 基准测试函数必须接受...
assert.Equal(t, tt.wantErr, err != nil) } } 分析代码生成测试用例 对checkUsername、checkEmail纯逻辑函数编写测试用例,这里以checkEmail为例。 func Test_checkEmail(t *testing.T) { type args struct { email string } tests := []struct { ...
--- FAIL: TestUser (0.00s) client_test.go:28: name err FAIL exit status 1 FAIL test/mocktest 0.005s 复制代码 1. go convey goconvey可以很好的支持setup和teardown,goconvey可以在运行单个测试用例前都进行一次状态初始化和销毁。goconvey还有很多已经定义好了的能够直接使用的assert函数,并且可以自定义asse...
package httptest_demo import ( "encoding/json" "net/http" "net/http/httptest" "strings" "testing" "/stretchr/testify/assert" ) func Test_helloHandler(t *testing.T) { // 定义两个测试用例 tests := []struct { name string param string ...
” mock.ExpectQuery(query).WillReturnRows(rows) a := articleRepo.NewMysqlArticleRepository(db) num := int64(1) anArticle, err := a.GetByID(num) assert.NoError(t, err) assert.NotNil(t, anArticle)}用例层(Usecase)测试用于用例层的示例测试,依赖于仓库层。package usecase_testimport ("...
Seeassert_test.gofor more usage examples. You can add extra information to test failures by passing in any number of extra arguments: assert.Equal(t,"foo",myString,"Should set up a proper foo string") %gotest--- FAIL: TestImportantFeature (0.00 seconds)assert.go:18: /Users/tyson/go/...