Test::Unit::Lite 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::Unit::Lite(3)   User Contributed Perl Documentation  Test::Unit::Lite(3)

NAME
       Test::Unit::Lite - Unit testing without external dependencies

SYNOPSIS
       Bundling the Test::Unit::Lite as a part of package distribution:

	 perl -MTest::Unit::Lite -e bundle

       Running all test units:

	 perl -MTest::Unit::Lite -e all_tests

       Using as a replacement for Test::Unit:

	 package FooBarTest;
	 use Test::Unit::Lite;	 # unnecessary if module isn't directly used
	 use base 'Test::Unit::TestCase';

	 sub new {
	     my $self = shift()->SUPER::new(@_);
	     # your state for fixture here
	     return $self;
	 }

	 sub set_up {
	     # provide fixture
	 }
	 sub tear_down {
	     # clean up after test
	 }
	 sub test_foo {
	     my $self = shift;
	     my $obj = ClassUnderTest->new(...);
	     $self->assert_not_null($obj);
	     $self->assert_equals('expected result', $obj->foo);
	     $self->assert(qr/pattern/, $obj->foobar);
	 }
	 sub test_bar {
	     # test the bar feature
	 }

DESCRIPTION
       This framework provides lighter version of Test::Unit framework.	 It
       implements some of the Test::Unit classes and methods needed to run
       test units.  The Test::Unit::Lite tries to be compatible with public
       API of Test::Unit. It doesn't implement all classes and methods at 100%
       and only those necessary to run tests are available.

       The Test::Unit::Lite can be distributed as a part of package
       distribution, so the package can be distributed without dependency on
       modules outside standard Perl distribution.  The Test::Unit::Lite is
       provided as a single file.

   Bundling the Test::Unit::Lite as a part of package distribution
       The Test::Unit::Lite framework can be bundled to the package
       distribution.  Then the Test::Unit::Lite module is copied to the inc
       directory of the source directory for the package distribution.

FUNCTIONS
       bundle
	   Copies Test::Unit::Lite modules into inc directory.	Creates
	   missing subdirectories if needed.  Silently overwrites previous
	   module if was existing.

       all_tests
	   Creates new test runner for Test::Unit::Lite::AllTests suite which
	   searches for test units in t/tlib directory.

CLASSES
   Test::Unit::TestCase
       This is a base class for single unit test module.  The user's unit test
       module can override the default methods that are simple stubs.

       The MESSAGE argument is optional and is included to the default error
       message when the assertion is false.

       new The default constructor which just bless an empty anonymous hash
	   reference.

       set_up
	   This method is called at the start of each test unit processing.
	   It is empty method and can be overridden in derived class.

       tear_down
	   This method is called at the end of each test unit processing.  It
	   is empty method and can be overridden in derived class.

       list_tests
	   Returns the list of test methods in this class and base classes.

       fail([MESSAGE])
	   Immediate fail the test.

       assert(ARG [, MESSAGE])
	   Checks if ARG expression returns true value.

       assert_null(ARG [, MESSAGE])
       assert_not_null(ARG [, MESSAGE])
	   Checks if ARG is defined or not defined.

       assert_equals(ARG1, ARG2 [, MESSAGE])
       assert_not_equals(ARG1, ARG2 [, MESSAGE])
	   Checks if ARG1 and ARG2 are equals or not equals.  If ARG1 and ARG2
	   look like numbers then they are compared with '==' operator,
	   otherwise the string 'eq' operator is used.

       assert_num_equals(ARG1, ARG2 [, MESSAGE])
       assert_num_not_equals(ARG1, ARG2 [, MESSAGE])
	   Force numeric comparition.

       assert_str_equals(ARG1, ARG2 [, MESSAGE])
       assert_str_not_equals(ARG1, ARG2 [, MESSAGE])
	   Force string comparition.

       assert(qr/PATTERN/, ARG [, MESSAGE])
       assert_matches(qr/PATTERN/, ARG [, MESSAGE])
       assert_does_not_match(qr/PATTERN/, ARG [, MESSAGE])
	   Checks if ARG matches PATTER regexp.

       assert_deep_equals(ARG1, ARG2 [, MESSAGE])
       assert_deep_not_equals(ARG1, ARG2 [, MESSAGE])
	   Check if reference ARG1 is a deep copy of reference ARG2 or not.
	   The references can be deep structure.  If they are different, the
	   message will display the place where they start differing.

   Test::Unit::TestSuite
       This is a base class for test suite, which groups several test units.

       empty_new([NAME])
	   Creates a fresh suite with no tests.

       new([CLASS | TEST])
	   Creates a test suite from unit test name or class.  If a test suite
	   is provided as the argument, it merely returns that suite.  If a
	   test case is provided, it extracts all test case methods (see
	   Test::Unit::TestCase->list_test) from the test case into a new test
	   suite.

       name
	   Contains the name of the current test suite.

       units
	   Contains the list of test units.

       add_test([TEST_CLASSNAME | TEST_OBJECT])
	   Adds the test object to a suite.

       count_test_cases
	   Returns the number of test cases in this suite.

       run Runs the test suite and output the results as TAP report.

   Test::Unit::TestRunner
       This is the test runner which outputs text report about finished test
       suite.

       new([$fh_out [, $fh_err]])
	   The constructor for whole test framework.  Its optional parameters
	   are filehandles for standard output and error messages.

       fh_out
	   Contains the filehandle for standard output.

       fh_err
	   Contains the filehandle for error messages.

       suite
	   Contains the test suite object.

       print_header
	   Called before running test suite.

       print_error
	   Called after error was occurred on "set_up" or "tear_down" method.

       print_failure
	   Called after test unit is failed.

       print_pass
	   Called after test unit is passed.

       print_footer
	   Called after running test suite.

       start(TEST_SUITE)
	   Starts the test suite.

   Test::Unit::Result
       This object contains the results of test suite.

       new Creates a new object.

       messages
	   Contains the array of result messages.  The single message is a
	   hash which contains:

	   test
	       the test unit name,

	   type
	       the type of message (PASS, ERROR, FAILURE),

	   message
	       the text of message.

       errors
	   Contains the number of collected errors.

       failures
	   Contains the number of collected failures.

       passes
	   Contains the number of collected passes.

       add_error(TEST, MESSAGE)
	   Adds an error to the report.

       add_failure(TEST, MESSAGE)
	   Adds an failure to the report.

       add_pass(TEST, MESSAGE)
	   Adds a pass to the report.

   Test::Unit::HarnessUnit
       This is the test runner which outputs in the same format that
       Test::Harness expects (Test Anything Protocol).	It is derived from
       Test::Unit::TestRunner.

   Test::Unit::Debug
       The empty class which is provided for compatibility with original
       Test::Unit framework.

   Test::Unit::Lite::AllTests
       The test suite which searches for test units in t/tlib directory.

COMPATIBILITY
       Test::Unit::Lite should be compatible with public API of Test::Unit.
       The Test::Unit::Lite also has some known incompatibilities:

       · The test methods are sorted alphabetically.

       · It implements new assertion method: assert_deep_not_equals.

       · Does not support ok, assert(CODEREF, @ARGS) and multi_assert.

       "Test::Unit::Lite" is compatible with Test::Assert assertion functions.

EXAMPLES
   t/tlib/SuccessTest.pm
       This is the simple unit test module.

	 package SuccessTest;

	 use strict;
	 use warnings;

	 use base 'Test::Unit::TestCase';

	 sub test_success {
	   my $self = shift;
	   $self->assert(1);
	 }

	 1;

   t/all_tests.t
       This is the test script for Test::Harness called with "make test".

	 #!/usr/bin/perl

	 use strict;
	 use warnings;

	 use File::Spec;
	 use Cwd;

	 BEGIN {
	     unshift @INC, map { /(.*)/; $1 } split(/:/, $ENV{PERL5LIB}) if defined $ENV{PERL5LIB} and ${^TAINT};

	     my $cwd = ${^TAINT} ? do { local $_=getcwd; /(.*)/; $1 } : '.';
	     unshift @INC, File::Spec->catdir($cwd, 'inc');
	     unshift @INC, File::Spec->catdir($cwd, 'lib');
	 }

	 use Test::Unit::Lite;

	 local $SIG{__WARN__} = sub { require Carp; Carp::confess("Warning: $_[0]") };

	 Test::Unit::HarnessUnit->new->start('Test::Unit::Lite::AllTests');

   t/test.pl
       This is the optional script for calling test suite directly.

	 #!/usr/bin/perl

	 use strict;
	 use warnings;

	 use File::Basename;
	 use File::Spec;
	 use Cwd;

	 BEGIN {
	     chdir dirname(__FILE__) or die "$!";
	     chdir '..' or die "$!";

	     unshift @INC, map { /(.*)/; $1 } split(/:/, $ENV{PERL5LIB}) if defined $ENV{PERL5LIB} and ${^TAINT};

	     my $cwd = ${^TAINT} ? do { local $_=getcwd; /(.*)/; $1 } : '.';
	     unshift @INC, File::Spec->catdir($cwd, 'inc');
	     unshift @INC, File::Spec->catdir($cwd, 'lib');
	 }

	 use Test::Unit::Lite;

	 local $SIG{__WARN__} = sub { require Carp; Carp::confess("Warning: $_[0]") };

	 all_tests;

       This is perl equivalent of shell command line:

	 perl -Iinc -Ilib -MTest::Unit::Lite -w -e all_tests

SEE ALSO
       Test::Unit, Test::Assert.

TESTS
       The Test::Unit::Lite was tested as a Test::Unit replacement for
       following distributions: Test::C2FIT, XAO::Base, Exception::Base.

BUGS
       If you find the bug or need new feature, please report it.

AUTHOR
       Piotr Roszatycki <dexter@cpan.org>

LICENSE
       Copyright (C) 2007, 2008, 2009 by Piotr Roszatycki <dexter@debian.org>.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See <http://www.perl.com/perl/misc/Artistic.html>

perl v5.14.1			  2011-06-22		   Test::Unit::Lite(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