我在看医生
here
,并且当使用curl测试时,路由(/services)运行良好,但是集成测试返回404响应。删除/hello的测试并不能解决这个问题,因为我假设是路由器/新记录器出了故障。
更新
一个善良的灵魂在他们的机器上测试了我的代码,测试通过了,所以它必须是本地linuxbrew postgres或Go(都是通过linuxbrew安装的)问题,错误不会输出到终端。
主菜单.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")
}
网络_测试.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, _ := http.NewRequest("GET", "/services", nil)
router.ServeHTTP(w, req)
....
assert.Equal(t, 200, w.Code)
}
的测试通过了。