مرجع سريع

ورقة غش Rack::Test

دليل مرجعي سريع لمكتبة Rack::Test: واجهة برمجة تطبيقات خفيفة الوزن لاختبار تطبيقات Ruby Rack و Sinatra و Rails.

· تاريخ النشر

Rack::Test هي مكتبة اختبار بسيطة وخفيفة الوزن لتطبيقات Ruby التي تدعم بروتوكول Rack دون الحاجة لتشغيل خادم HTTP كامل.

الإعداد الأساسي (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

طرق طلبات HTTP

# طلب GET مع معاملات الاستعلام
get '/search', q: 'ruby'

# طلب POST مع بيانات نموذج
post '/users', name: 'Alice', email: '[email protected]'

# طلبات PUT و DELETE
put '/users/1', status: 'active'
delete '/users/1'

# رفع الملفات
post '/upload', file: Rack::Test::UploadedFile.new('spec/fixtures/avatar.png', 'image/png')

فحص الاستجابات

last_response.status          # => 200, 404, إلخ
last_response.body            # => نص الاستجابة
last_response.headers         # => قاموس ترويسات استجابة HTTP
last_response.ok?             # => true إذا كانت الحالة 200..299
last_response.redirect?       # => true إذا كانت الحالة 301, 302, 303, 307
last_response.location        # => رابط وجهة إعادة التوجيه

تعيين الترويسات والمصادقة

# تعيين ترويسة الطلب
header 'Accept', 'application/json'

# مصادقة HTTP الأساسية (Basic Auth)
authorize 'username', 'secretpassword'

المراجع

موضوعات ذات صلة