第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang 和 Martini:模擬測試示例

Golang 和 Martini:模擬測試示例

Go
肥皂起泡泡 2021-09-27 20:35:35
我已經(jīng)整理了一段代碼,它在我的路線上執(zhí)行 GET。我想使用模擬來測試這個。我是 Go 和測試菜鳥,因此非常感謝任何提示。My Generate Routes.go 為當前 URL 生成路由。片段:func (h *StateRoute) GenerateRoutes (router *martini.Router) *martini.Router {    r := *router    /**     * Get all states     *      */    r.Get("/state",  func( enc app.Encoder,            db abstract.MongoDB,            reqContext abstract.RequestContext,            res http.ResponseWriter,            req *http.Request) (int, string) {        states := []models.State{}        searchQuery := bson.M{}        var q *mgo.Query = db.GetDB().C("states").Find(searchQuery)        query, currentPage, limit, total := abstract.Paginate(req, q)        query.All(&states)        str, err := enc.EncodeWithPagination(currentPage, limit, total, states)        return http.StatusOK, app.WrapResponse(str, err)    })}這在我的 server.go 中被調用,如下所示:var configuration = app.LoadConfiguration(os.Getenv("MYENV"))// Our Martini API Instancevar apiInstance *martini.Martinifunc init() {    apiInstance = martini.New()    // Setup middleware    apiInstance.Use(martini.Recovery())    apiInstance.Use(martini.Logger())    // Add the request context middleware to support contexual data availability    reqContext := &app.LRSContext{ }    reqContext.SetConfiguration(configuration)    producer := app.ConfigProducer(reqContext)    reqContext.SetProducer(producer)    apiInstance.MapTo(reqContext, (*abstract.RequestContext)(nil))    // Hook in the OAuth2 Authorization object, to be processed before all requests    apiInstance.Use(app.VerifyAuthorization)    // Connect to the DB and Inject the DB connection into Martini    apiInstance.Use(app.MongoDBConnect(reqContext))    // Add the ResponseEncoder to allow JSON encoding of our responses    apiInstance.Use(app.ResponseEncoder)}我的疑惑:考慮到我正在嘗試注入依賴項,這里的模擬如何工作?我應該從哪里開始測試,即我應該在 Generate Routes 中模擬 r.Get 嗎?現(xiàn)在,我已經(jīng)這樣做了,但是由于我使用的是 Martini 來處理所有路由和請求,如果我所做的是正確的,我會丟失報價嗎?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號