Hello monks,

I would like advice on how to write tests for a module I have written that is going onto CPAN. It's the base class for connecting to a CMS and the only method it has is to create and return a database handle.

I don't need to test whether the method will actually return a connection to MySQL; modules that use this one will do that. What I want to do is test the module when it's installing on a system.

Not sure really what to test for though. That my calls to the DBI are correct? Suggestion, please?

So far I have thought of:

1) Use DBD::Mock
(But that seems to be for testing your SQL, how your app handles a DSN error, etc.)

2) Require the user to provide database credentials during installation and actually test that the module can create the dbh.
(This would of course test not only my code but whether their environment can actually run the code ... But is it customary to write a test that requires interaction?)

Thanks for your input.


In reply to What to test for in a module that returns a DB handle? by Anonymous Monk

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.