gpt4 book ai didi

ruby-on-rails - 从 cucumber 发出 POST 请求以创建新对象的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 20:21:21 28 4
gpt4 key购买 nike

对于我的几个 cuke 场景,我想将用户 POST 到一个在参数中包含一个对象的页面,这样 Rails 就会在数据库中创建一个新对象。有没有一种方便的方法将 POST+params 发送到一个 Action (使用 Cucumber 或 Rails 中的东西),还是我必须使用 Net::Http 编写自己的函数?

最佳答案

只需访问要向其发送一些参数的 Controller 即可创建对象。

您不需要表格来执行此操作。只需将值发布到处理这些帖子的任何 Controller ,然后继续您的测试。 Controller 所关心的只是获取参数,不管它们是如何发布的。

visit "/user", :post, :firstName => "Foo", :lastName => "Bar"

详见 webrat documentation :

visit (url = nil, http_method = :get, data = {})

更新:除非我弄错了,否则 Capybara 或多或少地取代了 Webrat,并且通常认为 cucumber 级别测试应该使用实际的用户界面,而不是界面与之交互的 API。也就是说,it is still possible当我在项目早期只是想测试我的 Controller 并稍后弄清楚 UI 时,我自己仍然觉得它很有用。

因此在 Capybara 中,取决于您的驱动程序,但假设 rack/test :

page.driver.post('/user', { firstName: "Foo", lastName: "Bar" })

关于ruby-on-rails - 从 cucumber 发出 POST 请求以创建新对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2626001/

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