gpt4 book ai didi

ruby-on-rails-3 - 在 cucumber 步骤定义中向 Controller 发送删除请求

转载 作者:行者123 更新时间:2023-12-05 06:46:43 29 4
gpt4 key购买 nike

你们中有人知道如何做(实现)这样的事情吗:

sample.feature

...
scenario: unauthorized user cannot delete event
Given list of events
When event is deleted
Then nothing happen
...

sample_steps.rb

...
When /^event is deleted$/ do
delete (_path_to_controller_ + "/%d" % @events.first().id)
...

当然这一步我想根据rake routes的结果发送请求,大概是这样的(我已经把资源移到了admin路径下):

耙路

...
DELETE /admin/controller_name/:id(.:format) controller_name#destroy
...

我一直在尝试和搜索互联网很长时间,但我不知道该怎么做 :(

最佳答案

我用过 Rack::Test过去向 API 发送 DELETE 请求:

When /^event is deleted$/ do
header 'Accept', 'application/json'
header 'Content-Type', 'application/json'

authorize "username", "password"
url = _path_to_controller_ + "/%d" % @events.first().id)

delete url
end

话虽如此,我不确定我是否会在您的情况下推荐它。该事件是否会从界面中的某些操作(例如单击按钮)中删除?如果是这样,您应该使用 capybara 登录并单击按钮。这为您提供了全面集成覆盖的好处,并且您不必处理 Rack::Test(不是说它是一个坏工具,而是另一个工具)。

关于ruby-on-rails-3 - 在 cucumber 步骤定义中向 Controller 发送删除请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13501832/

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