[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: unit testing rails model validation? - why bother? what's rails best practice?

John Joyce

6/11/2007 5:36:00 PM


On Jun 11, 2007, at 1:16 AM, Greg Hauptmann wrote:

> Hi all,
>
> Is there any need to write unit test cases for model validation
> when such
> validation is implemented by a single rails validate_* line in the
> model?
> e.g. "validates_presence_of :email".
>
> Conservatively I would say 'yes' however applying the following
> arguments
> below I'd actually re-consider and say 'no':
>
> [1] Any test should clearly have a clear objective in terms of what
> it is
> trying to test. In this case what is really being tested in the rails
> framework "validates_" command and associated rails framework that
> handles
> this. If you take this as already been tested as part of the Rails
> release
> process then there is no reason to focus re-testing this. In other
> words
> why write a test for a situation for which you wrote no code yourself.
>
> [2] Any DRY? - By writing test cases you are really breaking the
> DRY (don't
> repeat yourself content) by everytime you put a simple rails
> framework line
> (i.e. a validates_* in a model) you have to put extra straight-
> forward lines
> in test cases. Also would such test cases focused at testing such
> Rails
> commands already be present in the rails code base.
>
> Comments? What's best practice here. Should we be writing test
> cases for
> such cases?
>
> Greg
Yes, yes and yes.
Unit testing is the best way to ensure your results are what you
expect them to be. Unit testing can of course be as exhaustive or
minimal as you like.
Better to create them and run them now than to rely on faith.
Especially when it comes to data originating from external sources.
Unit test like mad to make sure it is sanitized.