Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

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.


In reply to How to Test When User Sees Same Thing? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2024-04-23 13:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found