[rspec-users] Failing test despite "expected" and "got" being identical ...

ben rooney ben.rooney62 at googlemail.com
Thu May 6 05:02:02 EDT 2010


Slightly flummoxed on this one.

Spec::Mocks::MockExpectationError in 'ChartEventsController handling
GET /chart_events should find all chart_events given a value'
  expected: ([:all, {:conditions=>["value LIKE ?", "%chart_event%"]}])
       got: ([:all, {:conditions=>["value LIKE ?", "%chart_event%"]}])

In other words it got exactly what it expected, but, er, failed?

Controller:
    if params[:q]
      @chart_events = ChartEvent.find(:all, :conditions =>['value LIKE
?', "%#{(params[:q])}%"])
    else
      @chart_events = ChartEvent.all(:order=>'value')
    end


controller_spec
  before do
    @chart_event     = mock_model(ChartEvent, :value => "chart_event")
    ChartEvent.stub!(:find).and_return([@chart_event])
  end

  it "should find all chart_events given a value" do
    ChartEvent.should_receive(:find).with([:all, {:conditions=>["value
LIKE ?", "%#{@chart_event.value}%"]}]).and_return([@chart_event])
    get :index, :q => @chart_event.value
  end


More information about the rspec-users mailing list