如何測驗使用中間件的處理程式
我正在嘗試對使用中間件但不作為依賴項的處理程式進行單元測驗。
我的處理程式代碼如下所示:
package handlers
import (
"github.com/gin-gonic/gin"
"github.com/google/uuid"
)
type Handler interface{
FindById(c *gin.Context)
}
type handler struct{}
func (*handler) FindById(context *gin.Context) {
id := context.MustGet("id").(uuid.UUID)
// do something with `id`...
}
中間件的代碼:
package middlewares
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
)
func Id(context *gin.Context) {
id, err := uuid.Parse(context.Param("id"))
if err != nil {
context.AbortWithStatusJSON(http.StatusBadRequest, gin.H{
"errors": []string{"id is not valid UUID"}
})
return
}
context.Set("id", id)
}
我該如何模擬:
id := context.MustGet("id").(uuid.UUID)
測驗handler結構?
uj5u.com熱心網友回復:
在背景關系中設定鍵:c.Set("id", uuid)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/429824.html
