On Mon, Aug 25, 2008 at 2:50 PM, Nick Hoffman <[EMAIL PROTECTED]> wrote: > On 2008-08-25, at 13:29, Zach Dennis wrote: >> >> I might do something like the following... >> >> describe Property, "email validations" do >> >> ["[EMAIL PROTECTED]", "can't start with a digit", >> "[EMAIL PROTECTED]", "can't end with a digit" >> ].in_groups_of(2) do |email, description| >> it description do >> prop = Property.new :email => email >> prop.should_not be_valid >> prop.should have(1).error_on(:email) >> end >> end >> end >> >> >> -- Zach Dennis >> http://www.continuousthinking.com >> http://www.mutuallyhuman.com > > Hi Zach. That's a great way of iterating over test data. Do you have any > suggestions for how much test data to use? >
I'd probably start with the first invalid email/description that I can think of. Perhaps it can't start with a digit. Then I'd update the regexp to reflect that. Next I'd add a second invalid email/description and update the regexp to reflect that. Rinse and repeat until your regexp is where you need it. This should help you not add redundant emails which test the same thing. When you get to the case where you allow from 2 up to 128 characters, you could just test those two edge cases (rather than emails which 2 characters, 3 characters, 4 characters, ... 128 characters. -- Zach Dennis http://www.continuousthinking.com http://www.mutuallyhuman.com _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users