improve tests

This commit is contained in:
Lunny Xiao 2019-03-13 19:12:00 +08:00
parent bc9947c62b
commit d4fadf0134
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
2 changed files with 27 additions and 89 deletions

View File

@ -44,8 +44,14 @@ jobs:
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -coverprofile=coverage1-1.txt -covermode=atomic - run: go test -v -race -db="sqlite3" -conn_str="./test.db" -coverprofile=coverage1-1.txt -covermode=atomic
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic - run: go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -map_type=same -coverprofile=coverage1-3.txt -covermode=atomic
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -map_type=same -cache=true -coverprofile=coverage1-4.txt -covermode=atomic
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -coverprofile=coverage2-1.txt -covermode=atomic - run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -coverprofile=coverage2-1.txt -covermode=atomic
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic - run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -map_type=same -coverprofile=coverage2-1.txt -covermode=atomic
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -map_type=same -cache=true -coverprofile=coverage2-2.txt -covermode=atomic
- run: go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic - run: go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic
- run: go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic - run: go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic
- run: go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -coverprofile=coverage4-1.txt -covermode=atomic - run: go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -coverprofile=coverage4-1.txt -covermode=atomic

View File

@ -271,10 +271,7 @@ func TestUpdateMap2(t *testing.T) {
_, err := testEngine.Table("update_must_cols").Where("id =?", 1).Update(map[string]interface{}{ _, err := testEngine.Table("update_must_cols").Where("id =?", 1).Update(map[string]interface{}{
"bool": true, "bool": true,
}) })
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
} }
func TestUpdate1(t *testing.T) { func TestUpdate1(t *testing.T) {
@ -287,14 +284,8 @@ func TestUpdate1(t *testing.T) {
var ori Userinfo var ori Userinfo
has, err := testEngine.Get(&ori) has, err := testEngine.Get(&ori)
if err != nil { assert.NoError(t, err)
t.Error(err) assert.True(t, has)
panic(err)
}
if !has {
t.Error(errors.New("not exist"))
panic(errors.New("not exist"))
}
// update by id // update by id
user := Userinfo{Username: "xxx", Height: 1.2} user := Userinfo{Username: "xxx", Height: 1.2}
@ -318,12 +309,9 @@ func TestUpdate1(t *testing.T) {
{ {
user := &Userinfo{Username: "not null data", Height: 180.5} user := &Userinfo{Username: "not null data", Height: 180.5}
_, err := testEngine.Insert(user) _, err := testEngine.Insert(user)
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
userID := user.Uid
userID := user.Uid
has, err := testEngine.ID(userID). has, err := testEngine.ID(userID).
And("username = ?", user.Username). And("username = ?", user.Username).
And("height = ?", user.Height). And("height = ?", user.Height).
@ -331,29 +319,15 @@ func TestUpdate1(t *testing.T) {
And("detail_id = ?", 0). And("detail_id = ?", 0).
And("is_man = ?", 0). And("is_man = ?", 0).
Get(&Userinfo{}) Get(&Userinfo{})
if err != nil { assert.NoError(t, err)
t.Error(err) assert.True(t, has)
panic(err)
}
if !has {
err = errors.New("cannot insert properly")
t.Error(err)
panic(err)
}
updatedUser := &Userinfo{Username: "null data"} updatedUser := &Userinfo{Username: "null data"}
cnt, err = testEngine.ID(userID). cnt, err = testEngine.ID(userID).
Nullable("height", "departname", "is_man", "created"). Nullable("height", "departname", "is_man", "created").
Update(updatedUser) Update(updatedUser)
if err != nil { assert.NoError(t, err)
t.Error(err) assert.EqualValues(t, 1, cnt)
panic(err)
}
if cnt != 1 {
err = errors.New("update not returned 1")
t.Error(err)
panic(err)
}
has, err = testEngine.ID(userID). has, err = testEngine.ID(userID).
And("username = ?", updatedUser.Username). And("username = ?", updatedUser.Username).
@ -363,60 +337,27 @@ func TestUpdate1(t *testing.T) {
And("created IS NULL"). And("created IS NULL").
And("detail_id = ?", 0). And("detail_id = ?", 0).
Get(&Userinfo{}) Get(&Userinfo{})
if err != nil { assert.NoError(t, err)
t.Error(err) assert.True(t, has)
panic(err)
}
if !has {
err = errors.New("cannot update with null properly")
t.Error(err)
panic(err)
}
cnt, err = testEngine.ID(userID).Delete(&Userinfo{}) cnt, err = testEngine.ID(userID).Delete(&Userinfo{})
if err != nil { assert.NoError(t, err)
t.Error(err) assert.EqualValues(t, 1, cnt)
panic(err)
}
if cnt != 1 {
err = errors.New("delete not returned 1")
t.Error(err)
panic(err)
}
} }
err = testEngine.StoreEngine("Innodb").Sync2(&Article{}) err = testEngine.StoreEngine("Innodb").Sync2(&Article{})
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
defer func() { defer func() {
err = testEngine.DropTables(&Article{}) err = testEngine.DropTables(&Article{})
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
}() }()
a := &Article{0, "1", "2", "3", "4", "5", 2} a := &Article{0, "1", "2", "3", "4", "5", 2}
cnt, err = testEngine.Insert(a) cnt, err = testEngine.Insert(a)
if err != nil { assert.NoError(t, err)
t.Error(err) assert.EqualValues(t, 1, cnt)
panic(err) assert.True(t, a.Id > 0)
}
if cnt != 1 {
err = errors.New(fmt.Sprintf("insert not returned 1 but %d", cnt))
t.Error(err)
panic(err)
}
if a.Id == 0 {
err = errors.New("insert returned id is 0")
t.Error(err)
panic(err)
}
cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"}) cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"})
assert.NoError(t, err) assert.NoError(t, err)
@ -445,25 +386,16 @@ func TestUpdate1(t *testing.T) {
col1 := &UpdateMustCols{} col1 := &UpdateMustCols{}
err = testEngine.Sync(col1) err = testEngine.Sync(col1)
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
_, err = testEngine.Insert(col1) _, err = testEngine.Insert(col1)
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
col2 := &UpdateMustCols{col1.Id, true, ""} col2 := &UpdateMustCols{col1.Id, true, ""}
boolStr := testEngine.GetColumnMapper().Obj2Table("Bool") boolStr := testEngine.GetColumnMapper().Obj2Table("Bool")
stringStr := testEngine.GetColumnMapper().Obj2Table("String") stringStr := testEngine.GetColumnMapper().Obj2Table("String")
_, err = testEngine.ID(col2.Id).MustCols(boolStr, stringStr).Update(col2) _, err = testEngine.ID(col2.Id).MustCols(boolStr, stringStr).Update(col2)
if err != nil { assert.NoError(t, err)
t.Error(err)
panic(err)
}
col3 := &UpdateMustCols{} col3 := &UpdateMustCols{}
has, err := testEngine.ID(col2.Id).Get(col3) has, err := testEngine.ID(col2.Id).Get(col3)