Forum: Ruby on Rails Best Practices for Rails Web Application Testing?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Andrew O. (Guest)
on 2009-01-29 15:41
(Received via mailing list)
Hi all,

I am going to paint a probably familiar scene.  My first rails project
was a supposedly simple web application, which has now been under
development for 2 years, has expanded to about 12 models, and is a
full blown web application.

As a newbie to ruby and rails, I paid exactly zero attention to
testing at the beginning, and as a result, I probably have over a
thousand lines of code now, and zero lines of test code.  I realize
the error of my ways, especially now that I am tracking down a very
elusive bug, and I would even like to move to a TDD/BDD model with my
idea guy.

The problem that I am facing is twofold:  first I'm not a software
developer in real life, so I don't have much exposure to the "testing
world" in the first place.  I had to look up the difference between a
unit test, a functional test, and an integration test.  But beyond
even that, I am having trouble understanding the "state of the union"
as far as testing rails web-apps is concerned.  There seem to be so
many different products, and I don't really understand which ones test
what, and how much testing is required.  Where do they overlap?

I'm aware of the built-in testing functionality, but I'm reading that
people are using that less and less.  Then I read about rspec and
cucumber.  Cool stuff, but does it _replace_ testing with the built-in

I read the series of posts here:
and what I came away with was that something like cucumber is good for
functional testing, but unit testing should still be done with
Test::Unit.  And that it is important to keep the two roughly in
sync... as cucumber drives your development of new units, be sure to
test them with the built-in testing as you go.

Comments or thoughts would be greatly appreciated.  Am I on the right
track here?
This topic is locked and can not be replied to.