gpt4 book ai didi

google-app-engine - Go Appengine 端点测试的问题

转载 作者:数据小太阳 更新时间:2023-10-29 03:27:19 26 4
gpt4 key购买 nike

我正在尝试在使用 appengine 时创建端点测试。不幸的是,由于在创建测试 *Request 结构时使用的 url 中缺少模式(和主机),测试一直失败。运行应用引擎测试时,会为在半随机端口号上运行的特定测试生成一个服务器,这使得似乎无法定义完整的 url 来执行测试。

像这样运行测试的 official docs 非常稀疏,只给出了一半的例子,所以我一直在摸索如何让它发挥作用。

这是我从代码片段中标记的行得到的错误
错误:收到意外错误“发布/auth:不支持的协议(protocol)方案\”\“”

测试代码

func TestEndpoints_Auth(t *testing.T) {

// input data
account := Account{
AuthProvider: "facebook",
AuthProviderId: "123345456",
}
b, _ := json.Marshal(&account)
reader := bytes.NewReader(b)

// test server
inst, err := aetest.NewInstance(nil)
if !assert.NoError(t, err) { return }
defer inst.Close()

// request
client := http.Client{}
req, err := inst.NewRequest("POST", "/auth", reader)
if !assert.NoError(t, err) { return }
req.Header.Add(AppAuthToken, "foobar")
resp, err := client.Do(req)
if !assert.NoError(t, err) { return } // <=== Where the error occurs

// tests
if !assert.Nil(t, err) { return }
assert.Equal(t, http.StatusCreated, resp.StatusCode)
}

日志
[GIN-debug] POST/auth --> bitbucket.org/chrisolsen/chriscamp.(*endpoints).Auth-fm(5 个处理程序)
[GIN 调试] GET/accounts/me --> bitbucket.org/chrisolsen/chriscamp.(*endpoints).GetMyAccount-fm(7 个处理程序)
INFO 2016-04-22 13:23:39,278 devappserver2.py:769] 跳过 SDK 更新检查。
警告 2016-04-22 13:23:39,278 devappserver2.py:785] DEFAULT_VERSION_HOSTNAME 将无法使用 --port=0 正确设置
警告 2016-04-22 13:23:39,345 simple_search_stub.py:1126] 无法从 c:\users\chris\appdata\local\temp\appengine.testapp\search_indexes 读取搜索索引
INFO 2016-04-22 13:23:39,354 api_server.py:205] 在以下位置启动 API 服务器:http://localhost:54461
INFO 2016-04-22 13:23:41,043 dispatcher.py:197] 启动模块“默认”运行于:http://localhost:54462
INFO 2016-04-22 13:23:41,046 admin_server.py:116] 在以下位置启动管理服务器:http://localhost:54466

最佳答案

我真的很希望执行 api 黑盒测试,但是 似乎 使用 appengine 是无法撤消的。相反,我现在直接在端点上执行测试。

req, _ := inst.NewRequest("POST", "/auth", reader)
req.Header.Add(AppAuthToken, "foobar")
resp := httptest.NewRecorder()

handlePostAuth(resp, req)
assert.Equal(t, http.StatusCreated, resp.Code)

关于google-app-engine - Go Appengine 端点测试的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36799573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com