logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test::Mock::LWP - Easy mocking of LWP packages

Acknowledgements

Author

       Luke Closs, "<test-mock-lwp at 5thplane.com>"

Bugs

       Please     report    any    bugs    or    feature    requests    through    the    web    interface    at
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Mock-LWP>.  I will  be  notified,  and  then  you'll
       automatically be notified of progress on your bug as I make changes.

Description

       This package arises from duplicating the same code to mock LWP et al in several different modules I've
       written.  This version is very minimalist, but works for my needs so far.  I'm very open to new
       suggestions and improvements.

Exports

       The following variables are exported by default:

       $Mock_ua
           The mock LWP::UserAgent object - a Test::MockObject object

       $Mock_req, $Mock_request
           The mock HTTP::Request object - a Test::MockObject object

       $Mock_resp, $Mock_response
           The mock HTTP::Response object - a Test::MockObject object

Name

       Test::Mock::LWP - Easy mocking of LWP packages

Support

       You can find documentation for this module with the perldoc command.

           perldoc Test::Mock::LWP

       You can also look for information at:

       •   AnnoCPAN: Annotated CPAN documentation

           <http://annocpan.org/dist/Test-Mock-LWP>

       •   CPAN Ratings

           <http://cpanratings.perl.org/d/Test-Mock-LWP>

       •   RT: CPAN's request tracker

           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Mock-LWP>

       •   Search CPAN

           <http://search.cpan.org/dist/Test-Mock-LWP>

Synopsis

       Make LWP packages to make testing easier.

           use Test::Mock::LWP;

           # Setup fake response content and code
           $Mock_response->mock( content => sub { 'foo' } );
           $Mock_resp->mock( code => sub { 201 } );

           # Validate args passed to request constructor
           is_deeply $Mock_request->new_args, \@expected_args;

           # Validate request headers
           is_deeply [ $Mock_req->next_call ],
                     [ 'header', [ 'Accept', 'text/plain' ] ];

           # Special User Agent Behaviour
           $Mock_ua->mock( request => sub { die 'foo' } );

See Also