From 15c703b4691b25cf352418e3c347008935a18744 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 20 Mar 2019 22:28:51 +0800 Subject: [PATCH] - refactor test init flow --- business/jxstore/cms/cms_test.go | 12 ++-------- .../jxstore/promotion/jd_promotion_test.go | 12 ++-------- business/jxutils/cache/redis/redis_test.go | 14 ++---------- business/jxutils/dtask/dtask_test.go | 11 ++-------- business/model/dao/dao_test.go | 11 ++-------- business/model/dao/store_test.go | 16 ++++++++++++++ .../partner/delivery/dada/waybill_test.go | 12 ++-------- .../partner/delivery/mtps/waybill_test.go | 12 ++-------- business/partner/purchase/ebai/ebai_test.go | 12 ++-------- business/partner/purchase/elm/order_test.go | 14 ++---------- business/partner/purchase/jd/order_test.go | 12 ++-------- business/partner/purchase/mtwm/mtwm_test.go | 12 ++-------- .../partner/purchase/weimob/wsc/wsc_test.go | 13 ++--------- globals/globals.go | 5 +---- globals/testinit/testinit.go | 11 ++++++++++ globals/testinit1/testinit1.go | 22 +++++++++++++++++++ main.go | 4 ++-- 17 files changed, 76 insertions(+), 129 deletions(-) create mode 100644 business/model/dao/store_test.go create mode 100644 globals/testinit/testinit.go create mode 100644 globals/testinit1/testinit1.go diff --git a/business/jxstore/cms/cms_test.go b/business/jxstore/cms/cms_test.go index b5a8371be..4c369bc87 100644 --- a/business/jxstore/cms/cms_test.go +++ b/business/jxstore/cms/cms_test.go @@ -5,19 +5,11 @@ import ( "testing" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - // beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestGetQiniuUploadToken(t *testing.T) { diff --git a/business/jxstore/promotion/jd_promotion_test.go b/business/jxstore/promotion/jd_promotion_test.go index ce42e7a5f..02d20be92 100644 --- a/business/jxstore/promotion/jd_promotion_test.go +++ b/business/jxstore/promotion/jd_promotion_test.go @@ -3,19 +3,11 @@ package promotion import ( "testing" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "alpha" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestCreateLocalPromotionFromRemote(t *testing.T) { diff --git a/business/jxutils/cache/redis/redis_test.go b/business/jxutils/cache/redis/redis_test.go index 598b4f7d3..c15fdd3ff 100644 --- a/business/jxutils/cache/redis/redis_test.go +++ b/business/jxutils/cache/redis/redis_test.go @@ -4,9 +4,7 @@ import ( "testing" "git.rosy.net.cn/jx-callback/business/jxutils/cache" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit0" ) var ( @@ -14,15 +12,7 @@ var ( ) func init() { - //E:/goprojects/src/git.rosy.net.cn/jx-callback/conf/app.conf - ///Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - // api.Init() - + testinit0.Init() cacher = New("localhost", 6379, "") } diff --git a/business/jxutils/dtask/dtask_test.go b/business/jxutils/dtask/dtask_test.go index 7461b28f4..35bb1dfdc 100644 --- a/business/jxutils/dtask/dtask_test.go +++ b/business/jxutils/dtask/dtask_test.go @@ -11,18 +11,11 @@ import ( "git.rosy.net.cn/jx-callback/business/model" _ "git.rosy.net.cn/jx-callback/business/partner/purchase/jd" "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - // beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestScope(t *testing.T) { diff --git a/business/model/dao/dao_test.go b/business/model/dao/dao_test.go index eb4f141a7..8132962c4 100644 --- a/business/model/dao/dao_test.go +++ b/business/model/dao/dao_test.go @@ -6,18 +6,11 @@ import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - // beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestSelectEntities(t *testing.T) { diff --git a/business/model/dao/store_test.go b/business/model/dao/store_test.go new file mode 100644 index 000000000..bbcc07547 --- /dev/null +++ b/business/model/dao/store_test.go @@ -0,0 +1,16 @@ +package dao + +import ( + "testing" + + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/globals" +) + +func TestGetStoreDetail(t *testing.T) { + storeDetail, err := GetStoreDetailByVendorStoreID(GetDB(), "11733077", 0) + if err != nil { + t.Fatal(err) + } + globals.SugarLogger.Debug(utils.Format4Output(storeDetail, false)) +} diff --git a/business/partner/delivery/dada/waybill_test.go b/business/partner/delivery/dada/waybill_test.go index 2ec620af0..d2b28e527 100644 --- a/business/partner/delivery/dada/waybill_test.go +++ b/business/partner/delivery/dada/waybill_test.go @@ -7,19 +7,11 @@ import ( _ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestCreateWaybill(t *testing.T) { diff --git a/business/partner/delivery/mtps/waybill_test.go b/business/partner/delivery/mtps/waybill_test.go index 284065337..ea4e191c0 100644 --- a/business/partner/delivery/mtps/waybill_test.go +++ b/business/partner/delivery/mtps/waybill_test.go @@ -6,19 +6,11 @@ import ( _ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestCreateWaybill(t *testing.T) { diff --git a/business/partner/purchase/ebai/ebai_test.go b/business/partner/purchase/ebai/ebai_test.go index ce41ba670..48feba97d 100644 --- a/business/partner/purchase/ebai/ebai_test.go +++ b/business/partner/purchase/ebai/ebai_test.go @@ -2,10 +2,7 @@ package ebai import ( _ "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) const ( @@ -14,10 +11,5 @@ const ( ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } diff --git a/business/partner/purchase/elm/order_test.go b/business/partner/purchase/elm/order_test.go index 6e1c729d3..7c0e294a9 100644 --- a/business/partner/purchase/elm/order_test.go +++ b/business/partner/purchase/elm/order_test.go @@ -4,21 +4,11 @@ import ( "testing" _ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - //E:/goprojects/src/git.rosy.net.cn/jx-callback/conf/app.conf - ///Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestGetOrder(t *testing.T) { diff --git a/business/partner/purchase/jd/order_test.go b/business/partner/purchase/jd/order_test.go index f21ee2cb1..64a8ed192 100644 --- a/business/partner/purchase/jd/order_test.go +++ b/business/partner/purchase/jd/order_test.go @@ -6,19 +6,11 @@ import ( _ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - // beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestSwitch2SelfDeliver(t *testing.T) { diff --git a/business/partner/purchase/mtwm/mtwm_test.go b/business/partner/purchase/mtwm/mtwm_test.go index 19463538a..9c87132fb 100644 --- a/business/partner/purchase/mtwm/mtwm_test.go +++ b/business/partner/purchase/mtwm/mtwm_test.go @@ -5,19 +5,11 @@ import ( "git.rosy.net.cn/baseapi/utils" _ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - // beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() } func TestGetVendorCategories(t *testing.T) { diff --git a/business/partner/purchase/weimob/wsc/wsc_test.go b/business/partner/purchase/weimob/wsc/wsc_test.go index 992845fff..7e9325197 100644 --- a/business/partner/purchase/weimob/wsc/wsc_test.go +++ b/business/partner/purchase/weimob/wsc/wsc_test.go @@ -6,20 +6,11 @@ import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils/tasks" "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/globals/beegodb" - "github.com/astaxie/beego" + "git.rosy.net.cn/jx-callback/globals/testinit" ) func init() { - //E:/goprojects/src/git.rosy.net.cn/jx-callback/conf/app.conf - ///Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf - beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf") - beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test - - globals.Init() - beegodb.Init() - api.Init() + testinit.Init() if err := tasks.RefreshWeimobToken(); err != nil { globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err) diff --git a/globals/globals.go b/globals/globals.go index 58792f91b..a2a927097 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -43,13 +43,10 @@ func init() { logger, _ := zap.NewDevelopment() SugarLogger = logger.Sugar() baseapi.Init(SugarLogger) - - // todo 这里只是临时把这个放这里,不然在其它引用globals的地方会导致得不到正确的值 - // 但放这里又会导致单元测试的配置不正确,找不到配置文件 - Init() } func Init() { + SugarLogger.Infof("globals RunMode=%s", beego.BConfig.RunMode) ReallyCallPlatformAPI = (beego.BConfig.RunMode != "dev" && beego.BConfig.RunMode != "test") ReallySendWeixinMsg = ReallyCallPlatformAPI && beego.BConfig.RunMode == "prod" ReallyReplyComment = ReallyCallPlatformAPI && beego.BConfig.RunMode == "prod" diff --git a/globals/testinit/testinit.go b/globals/testinit/testinit.go new file mode 100644 index 000000000..9aa3e0d45 --- /dev/null +++ b/globals/testinit/testinit.go @@ -0,0 +1,11 @@ +package testinit + +import ( + "git.rosy.net.cn/jx-callback/globals/api" + "git.rosy.net.cn/jx-callback/globals/testinit1" +) + +func Init() { + testinit1.Init() + api.Init() +} diff --git a/globals/testinit1/testinit1.go b/globals/testinit1/testinit1.go new file mode 100644 index 000000000..6a6aa1aa8 --- /dev/null +++ b/globals/testinit1/testinit1.go @@ -0,0 +1,22 @@ +package testinit1 + +import ( + "path/filepath" + "runtime" + + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/beegodb" + "github.com/astaxie/beego" +) + +func Init() { + _, file, _, _ := runtime.Caller(0) + apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".."+string(filepath.Separator)+".."+string(filepath.Separator)))) + beego.TestBeegoInit(apppath) + + globals.SugarLogger.Infof("testinit RunMode=%s", beego.BConfig.RunMode) + beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test + + globals.Init() + beegodb.Init() +} diff --git a/main.go b/main.go index 9b0943287..1148bcb4d 100644 --- a/main.go +++ b/main.go @@ -32,10 +32,10 @@ var ( ) func Init() { - // globals.Init() + globals.Init() beegodb.Init() - defsch.Init() api.Init() + defsch.Init() buildTime, err := time.ParseInLocation(time.RFC3339, BuildDate, time.UTC) if err == nil { buildTime = buildTime.Local()