I don't think a mock object will do. For a full test you really need some End to End testing. That is a general rule, going to the more specific case of databases, you can never garantee that the generated SQL will work with a particular database engine, there are many subtle differences in syntax and semantics of SQL implemented on different databases, there are bugs specific to each platform that you need to code around.

Said that I really believe we need standards as to how test scripts should interact with the environment. In my current module I create the tables and do the tests in one transaction and roll it back at the end of the script, for databases with transaction this seems to be a good solution.


In reply to End to End testing by zby
in thread Trojan Perl Distributions by barbie

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.