我将项目从捆绑的appengine/*
导入移至google.golang.org/appengine/*
。我的测试用例仍然依赖于appengine/aetest
。不幸的是aetest
包尚未移植到google.golang.org/appengine/aetest
,这就是我收到编译错误的原因,因为它返回不同的上下文类型(appengine.Context
而不是x/net/context.Context
)as捆绑包。
我也无法创建新的上下文,因为我需要一个http.Request
对象。
有办法解决这个问题吗?
答案 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)
...
}