gpt4 book ai didi

ruby-on-rails-3 - 测试使用带有 Cucumber 的设计 token 可验证模块的 JSON API

转载 作者:行者123 更新时间:2023-12-02 04:06:45 26 4
gpt4 key购买 nike

我正在为 RESTfull JSON 服务编写验收测试。我希望能够针对生产服务器运行测试。此 API 由 iphone 客户端使用。对于身份验证,JSON 服务使用 Devise 身份验证 token 模块。

简而言之,这是协议(protocol):

iphone: POST/api/v1/tokens 参数 email=user@serivce.com&pass=secretpass
服务器:返回 200 和以下 JSON {"token":"UYUKJHBKHJJHSAD"}
iphone: GET/api/v1/messages?auth_token=UYUKJHBKHJJHSAD

一切都很好。

用 Cucumber 进行测试的最佳方法是什么?

我正在使用 https://github.com/jayzes/cucumber-api-steps 中的 api_steps我一起破解了一些东西,以便每个 GET 请求都传递 auth_token ,但这有点像 hack。

我所做的是创建以下步骤:

我使用密码“bingobingo”作为用户“admin@myservice.com”进行身份验证

我在其中设置了一个全局变量 auth_token,然后将其附加到所有 GET 请求中。丑陋!

我在问你 Cucumber/Rails/Test 大师!这样做的最佳方法是什么?

最佳答案

我发现 RSpec 比 Cucumber 更容易使用。

# spec/api/messages_spec.rb
describe "messages", :type => :api do
it "retrieves messages" do
get "/api/v1/messages", :token => user.authentication_token
@messages = user.messages # this is the expected result
last_response.body.should eql @messages.to_json
last_response.status.should eql 200
end
end

# spec/support/api/helper.rb, so we have access to get, post, put, delete methods
module ApiHelper
include Rack::Test::Methods
def app
Rails.application
end
end
RSpec.configure do |c|
c.include ApiHelper, :type => :api
end

关于ruby-on-rails-3 - 测试使用带有 Cucumber 的设计 token 可验证模块的 JSON API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7198749/

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