Mostly inspired from this post: http://blog.markstarkman.com/blog/2013/01/23/using-sqlite-to-test-active-record-models/
First, in your gemspec, you can add ActiveRecord and sqlite3 as dependencies like so:
spec.add_development_dependency "activerecord", "~> 4.0.0" spec.add_development_dependency "sqlite3"
Then in spec/schema.rb, you can define your schema like so:
ActiveRecord::Schema.define do self.verbose = false create_table :users, :force => true do |t| t.string :key t.string :name t.integer :age t.datetime :dob t.timestamps end end
Then you can create your models in a models.rb file:
class User < ActiveRecord::Base end
In your spec_helper.rb, you want to connect to an in-memory sqlite database, load the schema, and require the models:
require 'active_record' ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:" load File.dirname(__FILE__) + '/schema.rb' require File.dirname(__FILE__) + '/models.rb'