我一直在四处寻找答案,但我找不到。我的问题是,是否可以测试依赖于动态 URL 令牌的处理程序函数?例如,假设我的处理程序函数需要来自动态生成的 URL 的令牌(我不知道令牌是如何生成的,除了 URL 参数之外我也无法访问它)。我的 URL 将始终如下所示:www.example.com/?token=randomtokenherefunc TokenProcessing(w http.ResponseWriter, r *http.Request) { token := r.URL.Query().Get("token") // dynamically generated from parsed URL // code to do something with said token}是否可以在不访问令牌创建方式的情况下以某种方式对该处理程序函数进行单元测试?
2 回答
米脂
TA贡献1836条经验 获得超3个赞
我能想到的最简单的事情是创建一个辅助函数,它将所有参数作为处理程序,另外将令牌作为参数。然后您可以对该函数进行单元测试。所以像:
func TokenProcessing(w http.ResponseWriter, r *http.Request) {
token := r.URL.Query().Get("token")
tokenProcessingHelper(w, r, token)
}
// unit test me!
func tokenProcessingHelper(w http.ResponseWriter, r *http.Request, token string) {
...
}
- 2 回答
- 0 关注
- 142 浏览
添加回答
举报
0/150
提交
取消