> -----Original Message-----
> From: [email protected] [mailto:rubyonrails-
> [email protected]] On Behalf Of Marnen Laibow-Koser
> Sent: Friday, April 17, 2009 10:56 AM
> To: [email protected]
> Subject: [Rails] Re: Tips for getting started with testing for first
> large app?
>
>
> Phlip wrote:
> [...]
> >
> > RSpec is for BDD, like FIT or FITnesse.
>
> I would not say that FIT is a BDD tool, at least the way I understand
> that term.
>
> > It's for communicating with your
> > business-side analysts about all your features.
>
> No. That's what a tool like FITnesse or Cucumber is for. Perhaps your
> usage patterns are different, but for me at least, RSpec is for
> describing the behavior of modules, but at a much more technical level
> than business-side analysts would be interested in. I can't see using
> RSpec for business-domain tests at all!
>
I agree with this. I think that BDD is just a different way of thinking about
TDD, to better determine what exactly to test.
http://dannorth.net/introducing-bdd is one of my favorite articles on the
subject.
Brandon
> > For raw development, it
> > adds
> > clutter to the syntax without adding much new innovation to the test
> > flow.
>
> How so? I use RSpec for all raw development, largely for two reasons:
>
> * I like the syntax.
>
> * I like the focus on external interface rather than (Test::Unit's
> orientation toward?) internal behavior.
>
> Where's the clutter? I really don't understand. Test::Unit feels
> *far*
> more cluttered to me, or did the last time I tried it.
>
> >
> > And, yes, all the developers are eating it up like popcorn...
>
> Sure! It's fun to use. :)
>
> [...]
> >
> > And it bears repeating that TDD requires writing new tests and
> > _watching_them_fail_, before adding the tested code. Don't just go
> write
> > the
> > test and then write the code. Don't write the code and then get
> around
> > to
> > testing what you got. Only write new code in response to failing
> tests.
>
> I agree wholeheartedly (although in practice I'm not always as good at
> this as I should be).
>
> [regarding fixtures]
> > I _enjoy_ their fragility (in their current incarnation). It forces
> you
> > to
> > review your tests.
>
> I *really* don't understand this. Could you clarify?
>
> >
> > If anything in TDD is fragile, or leads to too much debugging (p
> > statements),
> > revert and try again.
>
> Doesn't this contradict the previous sentence?
>
> > TDD makes fragility an asset.
>
> Doesn't *this* contradict the previous sentence?
>
> [...]
> > Again, use the database to provide ready-made objects, and TDD your
> > find()
> > statements at the db. The decoupling will come, and "don't hit the db
> in
> > testing" is all but a myth. (Darn you, Mike Feathers!)
>
> It's probably a very good general idea (or ideal), but Rails
> ActiveRecord is too intimate with the DB to make it practical. I *do*
> think it's worth not having the tests *overly* dependent on the DB,
> though.
>
> <sarcasm>But Jay Fields says that Rails tests shouldn't touch the DB.
> That's reason enough to agree with you that it's a myth.</sarcasm>
>
> >
> >>> Writing tests is easy when you know how to write them and which
> tools to
> >>> use.
> >>>
> >>> Remember to have fun. If you are not having fun (even writing
> tests)
> >>> then something is wrong.
> >>
> >> :)
> >
> > Yep. Tests should be easier and easier to write, until you feel
> guilty
> > and think
> > they must not be doing anything for you.
>
> I like that. But Master Phlip, I still think my tests are
> significant...I guess I have not yet achieved enlightenment!
>
> >
> > --
> > Phlip
>
> Best,
> --
> Marnen Laibow-Koser
> http://www.marnen.org
> [email protected]
> --
> Posted via http://www.ruby-forum.com/.
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---