|
NAMETest::Mock::LWP::Dispatch - mocks LWP::UserAgent and dispatches your requests/responsesVERSIONversion 0.08SYNOPSIS# in your *.t use Test::Mock::LWP::Dispatch; use HTTP::Response; # global mappings for requests and responses for LWP::UserAgent $mock_ua->map('http://example.com', HTTP::Response->new(...)); # or $mock_ua->map(qr!^http://example.com/page!, sub { my $request = shift; # ... create $response return $response; }); # or make local mappings my $ua = LWP::UserAgent->new; $ua->map(...); DESCRIPTIONThis module is intended for testing a code that heavily uses LWP::UserAgent.Assume that a function you want to test makes three different requests to a server and expects to get some content from the server. To test this function you should setup request/response mappings for mocked UserAgent and test it. For doing something with mappings, here are methods "map", "unmap" and "unmap_all". For controlling context of these mappings (whether it applies to all LWP::UserAgent-s created in your code or only to a specific one) you need to call these functions for exported $mock_ua object (global mapping) or for newly created LWP::UserAgent (local mappings). See also Test::Mock::LWP, it provides mocked LWP objects for you, so probably you can solve your problems with that module too. METHODS
Response description $resp_descr can be:
Method returns index of your mapping. You can use it in "unmap".
SWITCHESDEFAULT_REQUEST_HEADERSLWP::UserAgent sets default headers for requests by calling LWP::UserAgent->prepare_request().Previous versions (<= 0.05) of Test:Mock::LWP::Dispatch didn't intercept this call in overridden "simple_request()". Now Test::Mock::LWP::Dispatch does it by default. If for some reason you want to get back the previous behaviour of the module, set the following variable off: $Test::Mock::LWP::Dispatch::DEFAULT_REQUEST_HEADERS = 0; MISCELLANEOUSThis mock object doesn't call "fake_new()". So when you prepare response using coderef, you can be sure that "User-Agent" header will be untouched and so on.ACKNOWLEDGEMENTSMike DohertyAndreas König Ash Berlin Joe Papperello Slobodan Mišković SEE ALSO<http://github.com/tadam/Test-Mock-LWP-Dispatch>Test::Mock::LWP LWP::UserAgent AUTHORYury Zavarin <yury.zavarin@gmail.com>COPYRIGHT AND LICENSEThis software is copyright (c) 2015 by Yury Zavarin.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Visit the GSP FreeBSD Man Page Interface. |