I've used Test::Unit, and really like it. One of the nice things about perl is that it is very good language for writing self-testing routines in.

When you can, have the tests run outside the production environment. This isn't doable for everything, but offload as much as you can to 'make test' and 'make check' kinda tests.

Another good place to test modules is when they are loaded. Have modules register with a central module to announce themselves, when they call GateKeeper::register() use the caller(0) information to perform any runtime tests on the newly loaded module

package GateKeeper; use strict; my $package_list = {}; sub register { my ($package) = caller(); perform_tests($package); # ensure all required subs are defined $package_list->{$package} = $package->cvs_version(); # cvs_version( +) sub is tested in perform_tests } # other subs to query cvs version info and other fun stuff
Someday I plan on posting a more complete version of registration and testing of virtual interfaces to PM, but today isn't going to be that day.

-jackdied


In reply to Re: Re (tilly) 1: Stopgap measures when you don't have a QA department by jackdied
in thread Stopgap measures when you don't have a QA department by Ovid

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.