public
Description: Rack::Test is a layer on top of Rack's MockRequest similar to Merb's RequestHelper
Homepage:
Clone URL: git://github.com/brynary/rack-test.git
rack-test / README.rdoc
100644 58 lines (38 sloc) 1.353 kb

Rack::Test

Description

Rack::Test is a small, simple testing API for Rack apps. It can be used on its own or as a reusable starting point for Web frameworks and testing libraries to build on. Most of its initial functionality is an extraction of Merb 1.0’s request helpers feature.

Features

  • Maintains a cookie jar across requests
  • Easily follow redirects when desired
  • Set request headers to be used by all subsequent requests
  • Small footprint. Approximately 200 LOC

Example

  require "rack/test"

  class HomepageTest < Test::Unit::TestCase
    include Rack::Test::Methods

    def app
      MyApp.new
    end

    def test_redirect_logged_in_users_to_dashboard
      authorize "bryan", "secret"
      get "/"
      follow_redirect!

      assert_equal "http://example.org/redirected", last_request.url
      assert last_response.ok?
    end

  end

Install

To install the latest release as a gem:

  sudo gem install rack-test

Authors

  • Maintained by Bryan Helmkamp
  • Contributions from Simon Rozet and Pat Nakajima
  • Much of the original code was extracted from Merb 1.0’s request helper

License

Copyright © 2008-2009 Bryan Helmkamp, Engine Yard Inc. See MIT-LICENSE.txt in this directory.