mpeters has the right of it. You need to test
  1. that the output() function is getting its info correctly (by testing the functions it calls)
  2. that the output() function is outputting correctly formatted whatever
  3. that the output() function's whatever has the relevant bits in the relevant places.

Personally, I'd use something like XML::Parser or HTML::Parser vs. modifying my tests every time. Then, you just look for the relevant text nodes and go from there.


But, that solution sucks rocks. The better solution is to use templates or output decorators. Don't worry about how it's being outputted. Then, the output decorators can be tested for general completeness instead of specific correctness. (Or, even better, you can use a CPAN module and fuhgeddaboudit!)


  • In general, if you think something isn't in Perl, try it out, because it usually is. :-)
  • "What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?"

In reply to Re: use Test; and output by dragonchild
in thread use Test; and output by mrborisguy

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.