Тестовый пример не дает ожидаемого результата - PullRequest
1 голос
/ 10 июня 2019

Я написал тестовый пример для метода тестирования в среде Gin-Gonic, но он не дает ожидаемого результата при выполнении тестового примера.Но когда я запускаю метод с использованием API в Postman, он работает правильно.

Контрольный пример

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())
}

Метод создания контрольного примера

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)
}

Маршрутизатор

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

Когда я запускаю контрольный пример с помощью go test-v. / ... Вывод

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

При работе через API он работает, но не при выполнении через контрольный пример.

...