[rspec-users] Advice with Model tests

Pat Maddox pergesu at gmail.com
Thu Dec 21 13:02:17 EST 2006


On 12/21/06, David Chelimsky <dchelimsky at gmail.com> wrote:
> On 12/21/06, Rodrigo Alvarez Fernández <papipo at gmail.com> wrote:
> > Hi!
> >
> > I'm developing a rails applicaton with specify-before approach, with
> > nice results so far.
> >
> > I use mocks and stubs in both Controller and views tests, but the main
> > issue is with model testing. Since I've seen many examples here and
> > there, I don't know if the right way is to use fixtures or not at all
> > (in model specs).
> >
> > Atm, I'm using them, but I don't know if I should use mocks for
> > associations, all real fixture data...
> >
> > This example http://rspec.rubyforge.org/documentation/rails/writing/models.html
> > uses both approachs (data generated on setup (but no mocks), and data
> > from fixtures).
> >
> > Please, help me!
> >
> > Apart from that, I really like this way of testing. I just want to do
> > it the right way.
>
> The "right" way doesn't really exist. It depends largely on the nature
> and complexity of your app. That said, my personal preference is to
> avoid fixtures and just create what I need in each spec. That's
> because I like to see everything I need to understand the context.

Out of curiosity, do you create AR records in your setup and save
them?  I almost always just create an object without saving it and
stub any finder methods.  I know AR is going to do its job and this
lets me hit the DB as little as possible, keeping my specs running
really fast.

Though sometimes I'm not sure if I'm using mocks and stubs too
much...trying to find a sweet spot.

I think I might write a tutorial on using RSpec to build Rails apps,
and then maybe you and Aslak could pick it apart and make
recommendations.  I could at least get started producing some
practical documentation for Rails though.

Pat


More information about the rspec-users mailing list