[rspec-users] Newbie question, populate or ignore test db

Teedub twscannell at gmail.com
Mon Jul 21 01:21:07 EDT 2008


Hi,

I have been attempting to get rspec running on Ubuntu without much
luck.
I finally got it to go, but I can't figure out how to turn off the
database access.

I created a new test project named myspec
Ran
script/generate rspec

and then so I would have restful routes, ran
script/generate rspec_scaffold page title:string body:text

Out of the box, 5 of the tests are failing because the test database
is not being populated. This is probably a config issue, but after
many hours, I can't figure what to do.

Thanks in advance

ActiveRecord::StatementInvalid in 'Page should create a new instance
given valid attributes'
Mysql::Error: Table 'myspec_test.pages' doesn't exist: SHOW FIELDS
FROM `pages`
./spec/models/page_spec.rb:12:
spec/views/pages/show.html.erb_spec.rb:3:


./spec/models/page_spec.rb:12:
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe Page do
  before(:each) do
    @valid_attributes = {
      :title => "value for title",
      :body => "value for body"
    }
  end

  it "should create a new instance given valid attributes" do
    Page.create!(@valid_attributes) #this is line 12
  end
end


spec/views/pages/show.html.erb_spec.rb:3:
require File.expand_path(File.dirname(__FILE__) + '/../../
spec_helper')

describe "/pages/show.html.erb" do
  include PagesHelper #line 3

  before(:each) do
    assigns[:page] = @page = stub_model(Page,
      :title => "value for title",
      :body => "value for body"
    )
  end

  it "should render attributes in <p>" do
    render "/pages/show.html.erb"
    response.should have_text(/value\ for\ title/)
    response.should have_text(/value\ for\ body/)
  end
end


More information about the rspec-users mailing list