aetest和google.golang.org/appengine

时间:2015-08-08 20:04:41

标签: google-app-engine go

我将项目从捆绑的appengine/*导入移至google.golang.org/appengine/*。我的测试用例仍然依赖于appengine/aetest。不幸的是aetest包尚未移植到google.golang.org/appengine/aetest,这就是我收到编译错误的原因,因为它返回不同的上下文类型(appengine.Context而不是x/net/context.Context)as捆绑包。

我也无法创建新的上下文,因为我需要一个http.Request对象。

有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

这样的事现在应该有效:

import (
  "google.golang.org/appengine"
  "google.golang.org/appengine/aetest"
)

func MyTest(t *testing.T) {
  inst, err := aetest.NewInstance(nil)
  if err != nil {
    tb.Fatal(err)
  }
  req, err := inst.NewRequest("GET", "http://www.whatever.com/", nil)
  if err != nil {
    tb.Fatal(err)
  }
  ctx := appengine.NewContext(req)
  ...
}