# I'm following the rspec.info example on controllers

Controller


			
def new
  @post = Post.new
end

def create
  @post = Post.new(params[:post].merge(:user_id => current_user.id))

  respond_to do |format|
    if @post.save
      flash[:notice] = 'News posted!'
      format.html { redirect_to post_path(@post) }
    else
      format.html { render :action => 'new' }
    end
  end
end

RSpec


			
describe PostsController do

  before(:each) do
    @post = mock("post")

    @post.stub!(:new_record?).and_return(false)
    Post.stub!(:new).and_return(@post)
  end

  it "should create a new, unsaved post on GET to create" do
    Post.should_receive(:new).and_return(@post)
    get 'create'
  end

end

Autotest ouput


			
F

1)
Spec::Mocks::MockExpectationError in 'PostsController should create a new, unsaved post on GET to create'
Mock 'Class' expected :new with (any args) once, but received it 0 times