Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Please forgive the ambiguous title, but I'm not sure how to phrase this.
I have what must be a common scenario: I validate some input based on various factors, but if validation fails, the user sees the same error message. (That is, this is not a case where the user gets a message saying "Please fix field #3".) How do I write tests for each possibility, given that there's no difference in the program's function for any particular kind of failure?
Pseudo-code:if ( ! defined $input_object) { $self->redirect('error'); } elsif ($input_object->{'foo'} > 10) { $self->redirect('error'); } elsif ($input_object->{'bar'} !~ m/^\d{3}$/ ){ $self->redirect('error'); } $self->process($input_object);
It's important to test each of these cases (an undefined input object, a 'foo' input greater than 10, a 'bar' input that's not three digits) to make sure they fail, but I don't know how to make sure I'm testing each thing when the result of each one is the same.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to Test When User Sees Same Thing?
by hippo (Archbishop) on Sep 09, 2020 at 12:55 UTC | |
|
Re: How to Test When User Sees Same Thing?
by BillKSmith (Monsignor) on Sep 09, 2020 at 22:22 UTC | |
|
Re: How to Test When User Sees Same Thing?
by GrandFather (Saint) on Sep 09, 2020 at 21:10 UTC |