NAME Test::Mock::Class - Simulating other classes SYNOPSIS use Test::Mock::Class ':all'; mock_class 'Net::FTP' => 'Net::FTP::Mock'; my $mock_object = Net::FTP::Mock->new; # anonymous mocked class my $metamock = mock_anon_class 'Net::FTP'; my $mock_object = $metamock->new_object; DESCRIPTION In a unit test, mock objects can simulate the behavior of complex, real (non-mock) objects and are therefore useful when a real object is impractical or impossible to incorporate into a unit test. The unique features of `Test::Mock::Class': * It's API is inspired by PHP SimpleTest framework. * It isn't tied with Test::Builder so it can be used standalone or with any xUnit-like framework, i.e. Test::Unit::Lite. Look for Test::Builder::Mock::Class if you want to use it with Test::Builder. * The API for creating mock classes is based on Class::MOP so it doesn't clash with API of original class and is easy expandable. * The methods for defining mock object's behavior is prefixed with `mock_' string so it shouldn't clash with original object's methods. * Mocks as actors: The mock version of a class has all the methods of the original class. The return value will be `undef', but it can be changed with `mock_returns' method. * Mocks as critics: The method of mock version of a class can check its calling arguments and throws an exception if arguments don't match (`mock_expect' method). An exception also can be thrown if the method wasn't called at all (`mock_expect_once' method). AUTHOR Piotr Roszatycki LICENSE Based on SimpleTest, an open source unit test framework for the PHP programming language, created by Marcus Baker, Jason Sweat, Travis Swicegood, Perrick Penet and Edward Z. Yang. Copyright (c) 2009 Piotr Roszatycki . This program is free software; you can redistribute it and/or modify it under GNU Lesser General Public License.