Riferimento rapido

Cheat Sheet Rack::Test

Guida rapida per Rack::Test: API di test leggera per applicazioni Ruby Rack, Sinatra e Rails.

· Pubblicato

Rack::Test è una libreria di test semplice e leggera per applicazioni Ruby che comunicano tramite il protocollo Rack senza avviare un server HTTP.

Configurazione di Base (RSpec / Minitest)

require 'rack/test'

class AppTest < Minitest::Test
  include Rack::Test::Methods

  def app
    MySinatraApp
  end

  def test_homepage
    get '/'
    assert last_response.ok?
    assert_equal 'Hello World', last_response.body
  end
end

Metodi di Richiesta HTTP

# Richiesta GET con parametri query
get '/search', q: 'ruby'

# Richiesta POST con dati modulo
post '/users', name: 'Alice', email: '[email protected]'

# PUT e DELETE
put '/users/1', status: 'active'
delete '/users/1'

# Upload di file
post '/upload', file: Rack::Test::UploadedFile.new('spec/fixtures/avatar.png', 'image/png')

Ispezione delle Risposte

last_response.status          # => 200, 404, ecc.
last_response.body            # => Stringa del corpo di risposta
last_response.headers         # => Hash degli header di risposta HTTP
last_response.ok?             # => true se 200..299
last_response.redirect?       # => true se 301, 302, 303, 307
last_response.location        # => URL di destinazione redirect

Impostazione Header e Autenticazione

# Imposta header di richiesta
header 'Accept', 'application/json'

# Autenticazione base HTTP
authorize 'username', 'secretpassword'

Riferimenti

Argomenti correlati