github.com/movsb/taorm@v0.0.0-20201209183410-91bafb0b22a6/mimic/mimic_test.go (about) 1 package mimic 2 3 import ( 4 "database/sql" 5 "database/sql/driver" 6 "testing" 7 ) 8 9 func TestMimic(t *testing.T) { 10 SetRows([]string{"id", "name", "age"}, [][]driver.Value{ 11 []driver.Value{int64(1), "tao.yang", 100}, 12 []driver.Value{int64(2), "jianqiao.hu", 101}, 13 []driver.Value{int64(3), "daniel.zhang", 102}, 14 }) 15 16 db, err := sql.Open("mimic", "") 17 if err != nil { 18 t.Fatal(err) 19 } 20 defer db.Close() 21 22 type User struct { 23 ID int64 24 Name string 25 Age int 26 } 27 28 var users []*User 29 rows, err := db.Query("select * from users") 30 if err != nil { 31 t.Fatal(err) 32 } 33 defer rows.Close() 34 for rows.Next() { 35 var u User 36 if err := rows.Scan(&u.ID, &u.Name, &u.Age); err != nil { 37 t.Fatal(err) 38 } 39 users = append(users, &u) 40 } 41 if err := rows.Err(); err != nil { 42 t.Fatal(err) 43 } 44 for _, user := range users { 45 t.Logf("%+v", user) 46 } 47 }