dongposhi8677 2019-06-10 20:53
浏览 85

测试用例在gin框架中不起作用

I have written test case to test method in Gin-Gonic framework but it in not giving expected output while running test case. But when I run method using API in Postman it is working properly.

Test case

func TestList(t *testing.T) {
    router := gin.New()
    router.GET("/testList", things.List)
    req, _ := http.NewRequest("GET", "/stuff", nil)
    resp := httptest.NewRecorder()
    router.ServeHTTP(resp, req)
    assert.NotNil(t, resp.Body.String())
    assert.Equal(t, 201,resp.Code, resp.Body.String())
}

Method on which test case created

func List(c *gin.Context) {
    db := c.MustGet("db").(*mgo.Database)
    things := []models.Thing{}
    err := db.C(models.CollectionStuff).Find(nil).All(&things)
    if err != nil {
        c.Error(err)
    }
    c.JSON(http.StatusOK, things)
}

Router

func main() {
    router := gin.Default()
    router.Use(middlewares.Connect)
    router.GET(Prefix +"/things", things.List)
}

When I run test case using go test -v ./... Output

 Error Trace:    thing_test.go:31
 Error:          Not equal:
 expected: 201
 actual  : 404
 Test: TestList
 Messages: 404 page not found

While running through API it works but not while running through test case.

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器