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
name age message
file .document Mon Mar 02 19:45:51 -0800 2009 Readme [brynary]
file .gitignore Sat Sep 19 11:48:10 -0700 2009 Ignore VERSION file in git [brynary]
file History.txt Fri Nov 27 13:45:02 -0800 2009 Prep for 0.5.3 release [brynary]
file MIT-LICENSE.txt Mon Mar 02 19:45:51 -0800 2009 Readme [brynary]
file README.rdoc Sat Sep 19 14:07:05 -0700 2009 Docs [brynary]
file Rakefile Mon Oct 26 22:11:03 -0700 2009 Use a simple Thorfile for release (to Gemcutter... [brynary]
file Thorfile Mon Oct 26 22:11:03 -0700 2009 Use a simple Thorfile for release (to Gemcutter... [brynary]
directory lib/ Fri Nov 27 13:46:21 -0800 2009 Bump VERSION constant to pre-release [brynary]
file rack-test.gemspec Fri Nov 27 13:46:59 -0800 2009 Update gemspec as well [brynary]
directory spec/ Fri Nov 27 11:14:26 -0800 2009 Fix cookie matching for subdomains [sickill]
README.rdoc

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.