From: Greg Hauptmann Date: 2007-06-11T15:16:19+09:00 Subject: unit testing rails model validation? - why bother? what's rails best practice? ------=_Part_52920_14152355.1181542579647 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline 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 ------=_Part_52920_14152355.1181542579647--