-
Notifications
You must be signed in to change notification settings - Fork 276
Sinatra
jmax315 edited this page Sep 12, 2010
·
8 revisions
If you are finding issues when testing sessions, make sure you don’t use this:
enable :sessions
Call the Rack middleware directly (you’ll be able to set additional options, too):
use Rack::Session::Cookie
require "sinatra"
get "/" do
"Hello World"
end
require "rack/test"
require "webrat"
require "test/unit"
Webrat.configure do |config|
config.mode = :rack
end
class AppTest < Test::Unit::TestCase
include Rack::Test::Methods
include Webrat::Methods
include Webrat::Matchers
def app
Sinatra::Application.new
end
def test_it_works
visit "/"
assert_contain("Hello world")
end
end
class App < Sinatra::Default
get "/" do
"Hello World"
end
end
require "rack/test"
require "webrat"
require "test/unit"
Webrat.configure do |config|
config.mode = :rack
end
class AppTest < Test::Unit::TestCase
include Rack::Test::Methods
include Webrat::Methods
include Webrat::Matchers
def app
App.new
end
def test_it_works
visit "/"
assert_contain("Hello world")
end
end
In the hope that it will save someone else from the headache figuring it out cost me :-)
require 'sinatra'
get '/' do
'Some text'
end
require 'webrat'
require 'rack/test'
module MyHelpers
def app
Sinatra::Application
end
end
Webrat.configure do |config|
config.mode= :rack
end
Spec::Runner.configure do |config|
config.include Rack::Test::Methods
config.include Webrat::Methods
config.include Webrat::Matchers
config.include MyHelpers
end
require File.dirname(__FILE__) + '/spec_helper'
require File.dirname(__FILE__) + '/../../my_app'
describe 'The default page' do
it 'should have some text' do
visit "/"
response_body.should contain 'Some text'
end
end