如何解决杜松子酒golangWeb框架测试结果404,路由正确返回JSON响应
我正在关注文档here,并且在使用curl进行测试时,路由(/服务)运行正常,但是集成测试返回404响应。删除/ hello的测试不能解决问题,因为我认为这是路由器/新记录器发生故障。
更新
一个善良的灵魂在他们的机器上测试了我的代码,并且测试通过了,因此它必须是本地linuxbrew postgres或Go(均通过linuxbrew安装)问题,错误不会输出到终端。
main.go
package main
import (
"github.com/gin-gonic/gin"
"github.com/ramblingbarney/finding_taylor_swift_api/controllers"
"github.com/ramblingbarney/finding_taylor_swift_api/models"
)
func setupRouter() *gin.Engine {
r := gin.Default()
r.GET("/hello",func(c *gin.Context) {
c.String(200,"hello world")
})
r.GET("/services",controllers.FindServices)
return r
}
func main() {
r := setupRouter()
models.ConnectDataBase()
r.Run(":8083")
}
web_test.go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/http/httptest"
"testing"
"github.com/stretchr/testify/assert"
)
...
func TestPingRoute(t *testing.T) {
router := setupRouter()
w := httptest.NewRecorder()
req,_ := http.NewRequest("GET","/hello",nil)
router.ServeHTTP(w,req)
assert.Equal(t,200,w.Code)
assert.Equal(t,"hello world",w.Body.String())
}
func TestServicesRoute(t *testing.T) {
router := setupRouter()
w := httptest.NewRecorder()
req,"/services",req)
....
assert.Equal(t,w.Code)
}
/ hello的测试通过。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。