The cases you provide are (admittedly) simplistic. When this becomes useful is when you have a method or function, and you want to document what its behavior should be

sub frobnitz { ... } ok( frobnitz( ) eq $no_params_results ); ok( frobnitz( @some_parameters ) eq $expected_results ); ok( frobnitz( @some_other_parameters) eq $other_expected_results );

The comparison can be any type of result that can be tested (does it throw / die, does it set some attribute on an object, etc).

The benefit of this is that you can quickly and consistently check the same behaviors, the same way, every time, after every change, to verify that you have not broken some expected behavior. This is a huge safety net when adding a feature, refactoring, etc. Your tests are, in effect, documentation, in the form of code, that translates English requirements into something that is less prone to misinterpretation more formalized.

--MidLifeXis


In reply to Re: why Test::More? by MidLifeXis
in thread why Test::More? by fionbarr

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.