gorm/gorm_test.go
jetereting 2bcd0eb0d9 RawMap
2018-04-27 13:03:26 +08:00

67 lines
1.4 KiB
Go

package gorm
import (
"fmt"
"testing"
"github.com/Jetereting/gorm"
_ "github.com/go-sql-driver/mysql"
)
var (
db *gorm.DB
err error
)
func init() {
db, err = gorm.Open("mysql", "user:password@tcp(ip:port)/dbName?charset=utf8")
if err != nil {
fmt.Println(err)
return
}
}
// TestQuery 测试查询
func TestQuery(t *testing.T) {
datas, e := db.RawMap("select * from users where user_id=?", 123)
if e != nil {
fmt.Println("err:", e)
}
fmt.Println("datas:", datas)
}
// TestIsCanInsert 测试插入
func TestIsCanInsert(t *testing.T) {
_, e := db.RawMap("insert into users(user_id,user_name,user_tag) values (?,?,?)", 123, "testName", "testTag")
if e != nil {
fmt.Println("err:", e)
}
fmt.Println("It work!")
}
// TestIsCanUpdate 测试更新
func TestIsCanUpdate(t *testing.T) {
_, e := db.RawMap("update users set user_name=? where user_id=?", "testName2", 123)
if e != nil {
fmt.Println("err:", e)
}
fmt.Println("It work!")
}
// TestTX 测试事物
func TestTX(t *testing.T) {
tx := db.Begin()
_, e := tx.RawMap("update users set user_name=? where user_id=?", "testName3", 123)
if e != nil {
fmt.Println("err:", e)
tx.Rollback()
}
_, e = tx.RawMap("update users set user_name=? where user_id=?", "long text....long text....long text....long text....long text....long text....long text....", 123)
if e != nil {
fmt.Println("err:", e)
tx.Rollback()
}
tx.Commit()
fmt.Println("done!")
}