[rspec-users] Fixtures are not loaded while running controller spec

Pat Maddox pat.maddox at gmail.com
Thu Jun 11 20:09:57 EDT 2009

On Thu, Jun 11, 2009 at 9:50 AM, Amit Kulkarni<lists at ruby-forum.com> wrote:
> describe BbPostsController do
>  context "test" do
>    fixtures :bb_posts, :users
>    @user = User.find_by_login("amit")
>    if @user
>      it "should create post" do
>        post = create_post
>        post.should be_valid
>      end
>    end
>  end

Why do you have that if there?  That's gotta be screwing you up.  So
the way Rails tests work, the fixtures don't get loaded until an
example is run.  In your code, you're trying to find a user that
probably doesn't exist due to there being no fixtures loaded yet.  So
why are you doing that find and subsequent if?  Try changing it to:

describe BbPostsController do
  context "test" do
    fixtures :bb_posts, :users
    it "should create post" do
      User.find_by_login("amit").should_not be_nil
      post = create_post
      post.should be_valid

(that's an odd spec but let's try to get your fixtures loading first :)


More information about the rspec-users mailing list