beego 2.0框架怎么编写测试

hawaii · · 2809 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

初学golang,使用beego做web开发,总想测试接口返回是不是预想的,但是beego的`default_test.go`这个demo只能测试非数据库连接的,一旦有数据库连接的controller就没办法测试了;提示`Handler crashed with error <Ormer.Using> unknown db alias name `default``,在models里面的init中配置了连接数据库那一套也不行,这个到底要怎么才能进行测试?如果集成sql_mock后怎么进行测试?有了解的请不吝赐教,谢谢;下面这段代码是default_test.go里面的 ```go package test import ( "net/http" "net/http/httptest" "testing" "runtime" "path/filepath" _ "shangpu/routers" beego "github.com/beego/beego/v2/server/web" . "github.com/smartystreets/goconvey/convey" ) func init() { _, file, _, _ := runtime.Caller(0) apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".." + string(filepath.Separator)))) beego.TestBeegoInit(apppath) } // TestBeego is a sample to run an endpoint test func TestBeego(t *testing.T) { r, _ := http.NewRequest("GET", "/", nil) w := httptest.NewRecorder() beego.BeeApp.Handlers.ServeHTTP(w, r) //beego.Trace("testing", "TestBeego", "Code[%d]\n%s", w.Code, w.Body.String()) Convey("Subject: Test Station Endpoint\n", t, func() { Convey("Status Code Should Be 200", func() { So(w.Code, ShouldEqual, 200) }) Convey("The Result Should Not Be Empty", func() { So(w.Body.Len(), ShouldBeGreaterThan, 0) }) }) } ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2809 次点击  
加入收藏 微博
1 回复  |  直到 2021-06-23 20:26:51
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传