On Sep 7, 2011, at 7:08 AM, John Feminella wrote:

> Is there a way to warn but not fail if a particular method wasn't
> called? That is, I'm looking for something that's halfway between
> obj.stub(...) and obj.should_receive(...). I'm trying to do something
> like this:
> 
> shared_context "with a stubbed geocoder" do
>  before(:each) do
>    @geocoding_client = Geocoding::FakeGeoClient.new
> 
>    # generate warning if the spec doesn't cause a hit to Geocoding.client
>    Geocoding.warn_if_not_received(:client).and_return(@geocoding_client)
>  end
> end

There's no support for this in rspec-mocks. You can do the following, but I 
would not recommend it:

before do
  @geocoding_received_client = false
  Geocoding.stub(:client) do
    @geocoding_received_client = true
    @geocoding_client
  end
end

after do
  warn "Geocoding did not receive :client" unless @@geocoding_received_client
end

Cheers,
David

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to