I guess that would work. But a method would probably work too, if I'm understanding correctly (often a bad assumption!). I.e. /"(.*)" should be a valid date/ would call valid_date?(date), or something. Anyway, yes that sounds promising. Steve
On Wed, Jan 7, 2009 at 8:09 PM, Pat Maddox <perg...@gmail.com> wrote: > Another idea I had is to potentially introduce a ValidatedDate class, > and then your "should be a valid date" step checks that the field is > an instance of ValidatedDate. That has the affect of ensuring that > people use your validation code in those spots where you want them to. > How does that sound? > > Pat > > On Wed, Jan 7, 2009 at 5:58 PM, Steve Molitor <stevemoli...@gmail.com> > wrote: > > Yeah I thought of something like that. Actually we do something like > that > > in one step now that I think about it. But I really wanted to execute > the > > same exact date feature (for example) doc that the user verified to make > > sure nothing got lost in translation. Which I could do if I > > programmatically ran the date feature file inside the Given /(.*) date is > > vaild/ step. But all those results would clutter up the report output. > I > > like your approach best: simple and doesn't require a funky technical > > solution. > > Steve > > > > On Wed, Jan 7, 2009 at 7:26 PM, Pat Maddox <perg...@gmail.com> wrote: > >> > >> > From a testing perspective it would be nice if cucumber could actually > >> > run > >> > the date validation feature everywhere it applies. > >> > >> Sure, and you can have a step like > >> > >> Given birth date is valid > >> > >> Given /(.*) date is valid/ do |field| > >> TestData.valid_dates.each do |date| > >> @it.send "#{field}_date=", date > >> @it.should be_valid > >> end > >> > >> TestData.invalid_dates.each do |date| > >> @it.send "#{field}_date=", date > >> @it.should_not be_valid > >> end > >> end > >> > >> That gets you technical validation everywhere you need it. Then you > >> have another individual feature file that describes date formats. > >> > >> > >> > P.S. Date validation really isn't that important in my application; > >> > that's > >> > just an example. A real example would be the sales tax calculation in > >> > the > >> > leasing app I worked on. That was very important, it was a global > >> > requirement with some important exceptions. But I think your approach > >> > would > >> > have worked there as well. > >> > >> Same ideas apply. > >> > >> Pat > >> > >> p.s. I didn't realize you were also the author of the other thread I > >> linked to :) > >> _______________________________________________ > >> rspec-users mailing list > >> rspec-users@rubyforge.org > >> http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > _______________________________________________ > > rspec-users mailing list > > rspec-users@rubyforge.org > > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users