I just started using rspec and mocha to test all of my controllers. Before I was using factory girl to test do my testing, but all those database hits really take a long time. However i''m finding i''m spending way more time writing stubs and mocks to satisfy my controllers than I am actually writing tests. This is a two part general question 1) Am i doing something completely wrong in my controllers? I''m testing with integrate_views and the number of times something.stubs(:each) comes up way to often in my specs. Most of my controllers involve at least 2 normally 3 models. 2) Is there a way to auto generate stubs and mocks like factory-girl, so i don''t have to worry about populating every last property of every last mock_model''d ? I can just call Mock_Factory.create(:website) and set up a list of defaults somewhere else? I feel like my stubs and mocks are supposed to help me, not confuse me: http://pastie.org/641647 Your thoughts? -- Posted via http://www.ruby-forum.com/.
2009/10/4 Richard Schneeman <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > I just started using rspec and mocha to test all of my controllers. > Before I was using factory girl to test do my testing, but all those > database hits really take a long time. However i''m finding i''m spending > way more time writing stubs and mocks to satisfy my controllers than I > am actually writing tests. > > This is a two part general question > 1) Am i doing something completely wrong in my controllers? I''m testing > with integrate_views and the number of times something.stubs(:each) > comes up way to often in my specs. Most of my controllers involve at > least 2 normally 3 models. > > 2) Is there a way to auto generate stubs and mocks like factory-girl, so > i don''t have to worry about populating every last property of every last > mock_model''d ? I can just call Mock_Factory.create(:website) and set up > a list of defaults somewhere else? > > > I feel like my stubs and mocks are supposed to help me, not confuse me: > > http://pastie.org/641647 > > Your thoughts?Hi Richard, I haven''t used it myself, but you might find this thread [1] of interest. In particular, Murray Steele''s fork [2] of factory_girl sounds a bit like what you are looking for. Alternatively, David Chelimsky''s Stubble [3] might offer an alternative approach, although I think that currently requires a small patch to Mocha. Regards, James. http://blog.floehopper.org/ [1] http://rubyurl.com/23WA [2] http://github.com/h-lame/factory_girl/tree/master [3] http://github.com/dchelimsky/stubble
Thanks for the reply James! These certainly look promising and merit digging into further. Looks like others have the same idea, but there is no cohesive standard/incredibly-stable&proven way to do this. -- Posted via http://www.ruby-forum.com/.
Richard Schneeman wrote:> I just started using rspec and mocha to test all of my controllers. > Before I was using factory girl to test do my testing, but all those > database hits really take a long time.Are you sure that''s where you''re losing time? (For the record, I''m using and loving Machinist.)> However i''m finding i''m spending > way more time writing stubs and mocks to satisfy my controllers than I > am actually writing tests.Then that''s a sign that something is wrong...perhaps those DB hits aren''t so bad! :)> > This is a two part general question > 1) Am i doing something completely wrong in my controllers? I''m testing > with integrate_views and the number of times something.stubs(:each) > comes up way to often in my specs. Most of my controllers involve at > least 2 normally 3 models. > > 2) Is there a way to auto generate stubs and mocks like factory-girl, so > i don''t have to worry about populating every last property of every last > mock_model''d ? I can just call Mock_Factory.create(:website) and set up > a list of defaults somewhere else?The answer to both of these questions is: go back to using factories. If you don''t like Factory Girl, try Machinist. Also, you might want to think about writing fewer controller specs and using Cucumber more...> > > I feel like my stubs and mocks are supposed to help me, not confuse me: > > http://pastie.org/641647Yeah, that lookls like the kind of stuff I used to write before Machinist...> > > Your thoughts?Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.