David, thanks for getting back. Here is the pastie with (hopefully) all the relevant code: http://pastie.caboo.se/147536
We're using the latest and greatest Rspec 1.1.3, so I don't think it's old versions that is the problem. Through some debugging, I have determined that in fact my "paginate_by_tag_set" method is never getting called in the model spec example as long as the section_controller spec is run first. If I run the model spec alone, or before the controller spec where the mock is defined, it works fine. Nate On Feb 4, 2008 1:07 PM, David Chelimsky <[EMAIL PROTECTED]> wrote: > On Feb 4, 2008 2:51 PM, Nate Clark <[EMAIL PROTECTED]> wrote: > > I'm having a frustrating experience with a mock object in one example (a > > Rails controller test) interfering with an actual model test in a > subsequent > > model example. More specifically, I have > > spec/controllers/section_controller_spec.rb with a mock call like this > in > > one of the examples: > > > > Section.should_receive(:paginate_by_tag_set).with([], :page => > > nil).and_return([]) > > > > Ok, everything is fine so far. The mock does what it is supposed to and > my > > example succeeds. > > Later on, I have a model spec in spec/models/section_spec.rb that > actually > > tests the functionality of this "paginate_by_tag_set" class method, like > > this: > > > > Section.paginate_by_tag_set([], :page => nil).total_entries.should == 19 > > > > This model example fails, and I've determined that the code for my > > paginate_by_tag_set class method is never even getting called in this > > example. It seems to have something to do with the order in which my > tests > > are run ... whenever I run the controller test before the model tests, > this > > model example fails, presumably because the mocked call to > > paginate_by_tag_set is still living, and the actual code isn't getting > > called. > > This was a bug a long time ago (probably a year), so unless you're on > a very old version I doubt it's related. What version of rspec are you > using? > > Also - can you pastie the spec and code for this controller? It would > help to see what else is going on that might be leading to this. > > Thanks, > David > > > > > If I run spec spec/models/section_spec.rb individually, everything > passes > > just fine. > > > > Any ideas on how to isolate the mock to live only within the test in > which > > it is defined? Am I understanding something wrong here? > > > > Thanks, > > Nate > > > > _______________________________________________ > > rspec-users mailing list > > rspec-users@rubyforge.org > > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > -- http://nateclark.com
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users