Plack::Test man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Plack::Test(3)	      User Contributed Perl Documentation	Plack::Test(3)

NAME
       Plack::Test - Test PSGI applications with various backends

SYNOPSIS
	 use Plack::Test;

	 # named params
	 test_psgi
	     app => sub {
		 my $env = shift;
		 return [ 200, [ 'Content-Type' => 'text/plain' ], [ "Hello World" ] ],
	     },
	     client => sub {
		 my $cb	 = shift;
		 my $req = HTTP::Request->new(GET => "http://localhost/hello");
		 my $res = $cb->($req);
		 like $res->content, qr/Hello World/;
	     };

	  use HTTP::Request::Common;

	  # positional params (app, client)
	  my $app = sub { return [ 200, [], [ "Hello "] ] };
	  test_psgi $app, sub {
	      my $cb  = shift;
	      my $res = $cb->(GET "/");
	      is $res->content, "Hello";
	  };

DESCRIPTION
       Plack::Test is a unified interface to test PSGI applications using
       HTTP::Request and HTTP::Response objects. It also allows you to run
       PSGI applications in various ways. The default backend is
       "Plack::Test::MockHTTP", but you may also use any Plack::Handler
       implementation to run live HTTP requests against at web server

FUNCTIONS
       test_psgi
	     test_psgi $app, $client;
	     test_psgi app => $app, client => $client;

	   Runs the client test code $client against a PSGI application $app.
	   The client callback gets one argument $cb, a callback that accepts
	   an "HTTP::Request" object and returns an "HTTP::Response" object.

	   Use HTTP::Request::Common to import shortcuts for creating requests
	   for "GET", "POST", "DELETE", and "PUT" operations.

	   For your convenience, the "HTTP::Request" given to the callback
	   automatically uses the HTTP protocol and the localhost (127.0.0.1
	   by default), so the following code just works:

	     use HTTP::Request::Common;
	     test_psgi $app, sub {
		 my $cb	 = shift;
		 my $res = $cb->(GET "/hello");
	     };

	   Note that however, it is not a good idea to pass an arbitrary (i.e.
	   user-input) string to "GET" or even "HTTP::Request->new" by
	   assuming that it always represents a path, because:

	     my $req = GET "//foo/bar";

	   would represent a request for a URL that has no scheme, has a
	   hostname foo and a path /bar, instead of a path //foo/bar which you
	   might actually want.

OPTIONS
       Specify the Plack::Test backend using the environment variable
       "PLACK_TEST_IMPL" or $Plack::Test::Impl package variable.

       The available values for the backend are:

       MockHTTP
	   (Default) Creates a PSGI env hash out of HTTP::Request object, runs
	   the PSGI application in-process and returns HTTP::Response.

       Server
	   Runs one of Plack::Handler backends ("Standalone" by default) and
	   sends live HTTP requests to test.

       ExternalServer
	   Runs tests against an external server specified in the
	   "PLACK_TEST_EXTERNALSERVER_URI" environment variable instead of
	   spawning the application in a server locally.

       For instance, test your application with the
       "HTTP::Server::ServerSimple" server backend with:

	 > env PLACK_TEST_IMPL=Server PLACK_SERVER=HTTP::Server::ServerSimple \
	   prove -l t/test.t

AUTHOR
       Tatsuhiko Miyagawa

perl v5.14.2			  2011-09-20			Plack::Test(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net