Skip to content

Instantly share code, notes, and snippets.

@we4tech
Created December 29, 2011 07:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save we4tech/1532760 to your computer and use it in GitHub Desktop.
Save we4tech/1532760 to your computer and use it in GitHub Desktop.
Sinatra with Rspec and custom rspec matcher
RSpec::Matchers.define :be_huka do
match do |actual|
actual == true
end
end
require 'rubygems'
require 'bundler'
Bundler.require
require './hello_app'
run HelloApp::Routes
source 'http://rubygems.org'
gem 'sinatra'
group :test do
gem "rspec"
gem "rack-test"
end
module HelloApp
module Models
class TestModel
attr_accessor :name, :email
def save
true
end
end
end
class Routes < Sinatra::Base
get '/' do
'Hello world'
end
end
end
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
describe HelloApp::Models::TestModel do
describe '#save' do
let(:test_model) { HelloApp::Models::TestModel.new }
subject { test_model }
its(:save) { should be_huka }
end
end
require 'rubygems'
require 'bundler'
Bundler.require
require File.join(File.dirname(__FILE__), '..', 'hello_app')
require 'rspec'
require 'rspec/autorun'
# set test environment
set :environment, :test
set :run, false
set :raise_errors, true
set :logging, false
# Define new matcher
RSpec::Matchers.define :be_huka do
match do |actual|
actual == true
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment