Ram wrote:
> <Yikes!>
> 
> ok that was some intense stuff. I dint understand a lot of stuff going
> around because, as established before, I dont have experience writing
> tests.
> But the following are the things Im taking out of this discussion.
> 
> - jump in the dirt. Do TDD for your existing app by starting all over
> again if you have to. Thats the only way to go (?) / thats the best
> way to go to become a better programmer (?)

Starting over, as Phlip suggested, is pretty drastic, but it *will* make 
sure that everything is tested.

> 
> - i dont *absolutely* need any external tools besides test::unit. 

Right, although you should try RSpec as a replacement for Test::Unit and 
see which you prefer.

> I
> probably would use the right tools if i ever felt the need for them in
> the first place

Huh?

> 
> - use fixtures when I have to test something that uses complex
> associations between models. especially when the alternative is to
> spend a lot of time and brain on mocking/stubbing them instead. (I
> have to mention I dont know the difference/similarities/functions of
> mocking and stubbing completely)

Check out Martin Fowler's article "Mocks aren't Stubs", as well as the 
RSpec docs.  There's also a hell of a lot of info in the wiki at c2.com, 
though some of it may not apply to what you're doing...

> 
> - i dont have any client documentation to show for these tests. theyre
> only for the sake of testing my code itself. So ill skip over RSpec
> and Cucumber (until i feel a need for them)

Cucumber is definitely for client-documentation-type tests.  RSpec, 
however, is useful as a replacement for Test::Unit if (like me) you find 
that it's easier to use it for unit tests.  (Phlip's characterization of 
RSpec is IMHO inaccurate.)

> 
> - test code keeps evolving. I need to optimize test code as much (or
> more ?) as i optimize dev code.

Maybe.  But differently.  Optimize test code for readability and 
accuracy -- unlike production code, you're not going to be running 
thousands of tests every second. :)

> and tests breaking out of nowhere will
> be a way of life (?)

Perhaps.  At least you'll know right away when something needs work.

> 
> i am going to be adding features to the app in between too. anything I
> have to keep in mind while doing that?

Try to get everything working before adding the next feature.

> when do I start on integration and functional tests?

Good question.  And many Rails developers are less gung-ho about these 
than about unit tests. (I'm one such developer at the moment, so I don't 
really have a good answer for you yet.)

> Also, any good articles that could help me gain some perspective on
> the task i have ahead of me?
> 

Other than the c2 wiki...hmmm.  There's an interesting forum thread on 
SimpleTest (PHP) that was very helpful to me...I'll see if I can dig up 
the URL.  Phlip, do I remember correctly that you've got some stuff 
around the Web on the subject?

> my 2 cents worth.. i personally like the feel autotest gives.
> especially for TDD. but hey.. no experience. only tryouts and
> screencasts.

Autotest is just about essential for TDD.  On Mac OS, I find it helpful 
to integrate it with Growl (there are a number of ways to do that -- a 
search should turn them up).

> 
> Please DO let me know if I have taken away the right things from here
> *to get started* with writing tests for my existing app.

I think so.

> I hope this discussion goes further and provides insights for many
> more in my place.
> 
> Thanks Fernando, Marnen, Phlip, Brandon and Hans :)

You're welcome!  Good luck.

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