in reply to use Test; and output

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?"