Re: Mocking collaborators that are third-party libraries

Eb <[email protected]>
Newsgroups gmane.comp.programming.test-driven-development
Message-ID <CANEY99byO_pikJNGkLY+FKNnvv7XYUy6GnCnYUYqoaLZLOFGAw@mail.gmail.com>
George -

Answer is clearer and I am reminded of the two (complimentary) approaches.

Thanks.


On Thu, Jul 11, 2013 at 6:17 PM, George Dinwiddie
<[email protected]>wrote:

> **
>
>
> Eb,
>
>
> On 7/11/13 5:35 PM, Eb wrote:
> > Thanks George.
> >
> > I am following that advice also (already) so very good to get affirmation
> > of that.
> >
> > However, I realize my question was not clear enough so continuing from
> your
> > answer, do you always verify behavior on mocked adaptors or are there
> > occasions where you don't? That is, you just mock them but don't verify.
>
> I tend to use a state-based approach (aka "Detroit style") so I'm
> usually verifying the result of the behavior. Often my test doubles are
> simple fakes (data sources) or stubs (data sinks, but usually query-able
> by the test).
>
> When I'm testing with a test-double adapter, I try to be cognizant of
> the assumptions I'm making about the 3rd party system, and write
> integration tests for the real adapter to validate those assumptions.
> This has saved my butt when a new version of the 3rd party system has
> violated my assumptions.
>
>
> > I hope my question is clearer.
>
> And I hope my answer is clearer.
>
> - George
>
>
> >
> > Eb
> >
> >
> > On Thu, Jul 11, 2013 at 4:16 PM, George Dinwiddie
> > <[email protected]>wrote:
> >
> >> **
>
> >>
> >>
> >> Eb,
> >>
> >>
> >> On 7/11/13 2:28 PM, Eb wrote:
> >>> Hi everyone -
> >>>
> >>> What criteria do you use to determine if a collaborator that is a
> >>> third-party should be mocked and the test should verify that the
> >>> collaborator was indeed called when it was supposed to be?
> >>
> >> I wouldn't do that. I use adapters for third-party collaborators and
> >> mock my adapters to verify behavior. I also write integration tests for
> >> the adapter's interaction with the third-party.
> >>
> >> Steve Freeman's advice is to never mock something you don't own. I've
> >> only violated that advice when I needed to simulate error conditions
> >> while testing my adapter.
> >>
> >> - George
>
> --
> Want to speak at AgileDC October 8, 2013? http://agiledc.org/speak/
> ----------------------------------------------------------
> * George Dinwiddie * http://blog.gdinwiddie.com
> Software Development http://www.idiacomputing.com
> Consultant and Coach http://www.agilemaryland.org
> ----------------------------------------------------------
>
>  
>



-- 
blog: http://eikonne.wordpress.com
twitter: @eikonne


[Non-text portions of this message have been removed]



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/testdrivendevelopment/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/testdrivendevelopment/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.