首页 > 解决方案 > 如何使用空中宝石将参数传递给规格?

问题描述

我尝试用 gem 为 api 编写规范airborne

我怎样才能将参数传递给测试?

文档说:

对于需要查询参数的请求,您可以将参数哈希传递到标头中。

post 'http://example.com/api/v1/my_api', { }, { 'params' => {'param_key' => 'param_value' } *

但是当我尝试使用这样的参数运行简单测试时:

    it 'returns correctly status filtered tickets' do
      get 'http://localhost:3000/api/v1/users', { }, { 'params' => {'param_key' => 'param_value' } }
      expect_status(200)
    end

我得到错误:

ArgumentError:
       wrong number of arguments (given 3, expected 1)`

标签: ruby-on-railsrubyrspecairborne

解决方案


我改为
get 'http://localhost:3000/api/v1/users', { }, { 'params' => {'param_key' => 'param_value' } } 并且 get 'http://localhost:3000/api/v1/users', params => {'param_key' => 'param_value' } }它有效。


推荐阅读