[rspec-users] Advice with Model tests

Rodrigo Alvarez Fernández papipo at gmail.com
Thu Dec 21 12:40:56 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.

What about models that need a lot of attributes? Do you create them in
the setup method?
I suppose that the answer is "yes".

> This approach creates more duplication in specs, but less binding
> between them. For me, the isolation is *usually* more important than
> the duplication.

Thinking about it... with fixtures the environment is shared between
specs and tries to satisfy all of them. In fact, you must write specs
that "fit" in the fixtures, or write/modify the current fixtures to
satisfy the new specs required environment.

It seems thar isolating is much better.

Thank you.

> David

More information about the rspec-users mailing list