On Mon, Aug 6, 2012 at 3:48 AM, Alexander Baronec <abo...@gmail.com> wrote: > 2012/8/5 David Chelimsky <dchelim...@gmail.com> >> >> On Sat, Aug 4, 2012 at 1:46 PM, Alexander Baronec <abo...@gmail.com> >> wrote: >> > Hello. >> > How can I test object to receive message and compare arguments of this >> > message with value evaluated at present time? It is possible? >> > >> > For example: >> > >> > should_receive(:api_send).with( -> { players.count } ) And players.count >> > will be called and evaluated only when api_send is received. >> >> Look at Fake Implementation on >> https://www.relishapp.com/rspec/rspec-mocks/v/2-11/docs/method-stubs. >> You can do the same thing w/ should_receive, e.g. >> >> foo.should_receive(:api_send) do |player_count| >> player_count.should eq players.count >> end >> >> HTH, >> David
> It don't work when object received few messages. I described it there: > http://stackoverflow.com/questions/11669979/should-recieve-alongside-other-messages should_receive, by default, expects exactly one call, but there are a number of ways for you to specify more than one call. One possibility would be: foo.should_receive(:api_send).ordered foo.should_receive(:api_send).with(2).ordered See http://rubydoc.info/gems/rspec-mocks for more info _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users