I've written most of my code in that fashion for a couple of years. It really helps. (When I don't use TDD, I'm either experimenting with something really small to learn, or I'm about to screw up and learn my lesson again.)

You can use Test::Simple (and, even better, Test::More) for both unit (or programmer) and accentance (or customer) tests. The trick for programmer tests is to test individual pieces of your code, probably at the module level, if not the individual function and method level, in isolation, as far as possible. You want to be sure that what you're about to write does what it needs to do.

For programmer tests, you can use the same approach. You just have to think on a bigger scale.

For example, my Mail::SimpleList has a file called acceptance.t. It has just enough code to fake up an incoming message and just enough code to capture outgoing messages. The tests mostly boil down to sending a message a real user might send and testing that the responses are what should really happen. The guts of the modules (or how many modules there are) are hidden from the tests.


In reply to Re: TDD in perl by chromatic
in thread TDD in perl by thens

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.