get(path, *args) public

Performs a GET request with the given parameters.

  • path: The URI (as a String) on which you want to perform a GET request.

  • params: The HTTP parameters that you want to pass. This may be nil, a Hash, or a String that is appropriately encoded (application/x-www-form-urlencoded or multipart/form-data).

  • headers: Additional headers to pass, as a Hash. The headers will be merged into the Rack env hash.

  • env: Additional env to pass, as a Hash. The headers will be merged into the Rack env hash.

This method returns a Response object, which one can use to inspect the details of the response. Furthermore, if this method was called from an ActionDispatch::IntegrationTest object, then that object’s @response instance variable will point to the same response object.

You can also perform POST, PATCH, PUT, DELETE, and HEAD requests with #post, #patch, #put, #delete, and #head.

Example:

get '/feed', params: { since: 201501011400 }
post '/profile', headers: { "X-Test-Header" => "testvalue" }
Show source
Register or log in to add new notes.
November 5, 2012 - (v3.0.0 - v3.2.8)
0 thanks

Specifying an accept header in your tests

To specify an accept header, you need to pass it in the second hash like this:

get '/url', nil, {'HTTP_ACCEPT' => 'application/json'}

The documentation says everything is uppercased and HTTP_ is appended when necessary, but that wasn’t working for me.