Test::MockModule man page on Fedora

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

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

NAME
       Test::MockModule - Override subroutines in a module for unit testing

SYNOPSIS
	  use Module::Name;
	  use Test::MockModule;

	  {
	      my $module = new Test::MockModule('Module::Name');
	      $module->mock('subroutine', sub { ... });
	      Module::Name::subroutine(@args); # mocked
	  }

	  Module::Name::subroutine(@args); # original subroutine

DESCRIPTION
       "Test::MockModule" lets you temporarily redefine subroutines in other
       packages for the purposes of unit testing.

       A "Test::MockModule" object is set up to mock subroutines for a given
       module. The object remembers the original subroutine so it can be
       easily restored. This happens automatically when all MockModule objects
       for the given module go out of scope, or when you "unmock()" the
       subroutine.

METHODS
       new($package[, %options])
	   Returns an object that will mock subroutines in the specified
	   $package.

	   If there is no $VERSION defined in $package, the module will be
	   automatically loaded. You can override this behaviour by setting
	   the "no_auto" option:

	       my $mock = new Test::MockModule('Module::Name', no_auto => 1);

       get_package()
	   Returns the target package name for the mocked subroutines

       is_mocked($subroutine)
	   Returns a boolean value indicating whether or not the subroutine is
	   currently mocked

       mock($subroutine => \&coderef)
	   Temporarily replaces one or more subroutines in the mocked module.
	   A subroutine can be mocked with a code reference or a scalar. A
	   scalar will be recast as a subroutine that returns the scalar.

	   The following statements are equivalent:

	       $module->mock(purge => 'purged');
	       $module->mock(purge => sub { return 'purged'});

	       $module->mock(updated => [localtime()]);
	       $module->mock(updated => sub { return [localtime()]});

	   However, "undef" is a special case. If you mock a subroutine with
	   "undef" it will install an empty subroutine

	       $module->mock(purge => undef);
	       $module->mock(purge => sub { });

	   rather than a subroutine that returns "undef":

	       $module->mock(purge => sub { undef });

	   You can call "mock()" for the same subroutine many times, but when
	   you call "unmock()", the original subroutine is restored (not the
	   last mocked instance).

       original($subroutine)
	   Returns the original (unmocked) subroutine

       unmock($subroutine [, ...])
	   Restores the original $subroutine. You can specify a list of
	   subroutines to "unmock()" in one go.

       unmock_all()
	   Restores all the subroutines in the package that were mocked. This
	   is automatically called when all "Test::MockObject" objects for the
	   given package go out of scope.

SEE ALSO
       Test::MockObject::Extends

       Sub::Override

AUTHOR
       Simon Flack <simonflk _AT_ cpan.org>

COPYRIGHT
       Copyright 2004 Simon Flack <simonflk _AT_ cpan.org>.  All rights
       reserved

       You may distribute under the terms of either the GNU General Public
       License or the Artistic License, as specified in the Perl README file.

perl v5.14.1			  2005-03-24		   Test::MockModule(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