【问题标题】:How do you test PUT in functional tests?如何在功能测试中测试 PUT?
【发布时间】:2011-11-15 00:17:31
【问题描述】:

我正在尝试在 Play Framework 1.2.3 的功能测试中测试 PUT。

我浏览了FunctionalTest的API,发现了这些方法:

公共静态响应 PUT(对象 url,字符串内容类型,字符串正文) 公共静态响应 PUT(请求请求,对象 url,字符串内容类型,字符串正文){

我的问题是:如何构建 body 值,以模拟 HTML 表单提交?

感谢

【问题讨论】:

  • 你到底想模仿什么样的请求?
  • 我正在尝试模拟 html 表单提交。例如: #{form @update()} #{/form}
  • 那你为什么要使用 PUT 呢? HTML 表单仅支持 GET 和 POST。
  • 好的,我明白了。游戏框架有什么方法可以模拟 PUT 和 DELET 开箱即用?例如,我记得在 RoR 中我们使用表单参数来告诉使用哪个 http 方法,并且 RoR 为我们执行正确的路由。 Play 框架中是否有类似的东西?

标签: playframework


【解决方案1】:

从未尝试过使用 put,但您可以创建一个方便的方法来正确初始化 put 请求,然后在其上使用“request.params.put(key, value)”。下面是put请求初始化的例子

public Request newPutRequest(String url) {
    Request request = newRequest();
    request.url = url;
    request.path = request.url;
    request.method = "PUT";
    return request;
}

【讨论】:

  • 谢谢 Seb。我的问题是关于如何构建 body 参数以发送到该方法。也许我不需要它?
  • 对我来说,您可以使用 request.params.put 将您的参数作为表单参数发送
  • 谢谢,现在看来我的问题是另一个问题,如何从 HTML 表单模拟 PUT。请参阅我对汤姆的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 2021-12-16
相关资源
最近更新 更多