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!

> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to