am trying to test one of the business entity modules. I am using Test::MockObject to mock the call to the data access modules. While doing that, I find myself tempted to use DBD::Mock to mock the sql results that the data access modules will accept and then return it in the appropriate data structure, instead of just mocking the return value.

Why? (he asks curiously :-)

I would have thought mocking the database would be harder than mocking the data access module?

Is it a good practice to test multiple modules at once in unit testing? What is the line that differentiate between unit testing and integration testing?

In this particular instance you won't be doing unit testing any more since you are relying on two of the modules you are developing working to get a correct result. If you're using your data access module to test your business entity module a bug in your data access module could cause your business entity module test to erroneously pass or fail.

However, if you have good tests for your data access module then the bug should be caught there. So it may not be an issue.

This is completely orthogonal to the issue of TDD. You can write integration tests first just like you can write unit tests first - and both are useful in different situations.


In reply to Re: Fine line between integration testing and unit testing by adrianh
in thread Fine line between integration testing and unit testing by badaiaqrandista

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.