Referencia rápida

Chuleta de Rack::Test

Guía de referencia rápida de Rack::Test: API ligera de pruebas para aplicaciones Ruby Rack, Sinatra y Rails.

· Publicado

Rack::Test es una biblioteca de pruebas simple y ligera para aplicaciones Ruby que implementan el protocolo Rack sin iniciar un servidor HTTP.

Configuración Básica (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

Métodos de Solicitud HTTP

# Solicitud GET con parámetros de consulta
get '/search', q: 'ruby'

# Solicitud POST con datos de formulario
post '/users', name: 'Alice', email: '[email protected]'

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

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

Inspección de Respuestas

last_response.status          # => 200, 404, etc.
last_response.body            # => Cadena del cuerpo de respuesta
last_response.headers         # => Hash de cabeceras de respuesta HTTP
last_response.ok?             # => true si está entre 200 y 299
last_response.redirect?       # => true si es 301, 302, 303 o 307
last_response.location        # => URL de redirección

Configurar Cabeceras y Autenticación

# Establecer cabecera de solicitud
header 'Accept', 'application/json'

# Autenticación básica HTTP
authorize 'username', 'secretpassword'

Referencias

Temas relacionados