Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

test::unit::procedural(3pm) [debian man page]

Test::Unit::Procedural(3pm)				User Contributed Perl Documentation			       Test::Unit::Procedural(3pm)

NAME
Test::Unit::Procedural - Procedural style unit testing interface SYNOPSIS
use Test::Unit::Procedural; # your code to be tested goes here sub foo { return 23 }; sub bar { return 42 }; # define tests sub test_foo { assert(foo() == 23, "Your message here"); } sub test_bar { assert(bar() == 42, "I will be printed if this fails"); } # set_up and tear_down are used to # prepare and release resources need for testing sub set_up { print "hello world "; } sub tear_down { print "leaving world again "; } # run your test create_suite(); run_suite(); DESCRIPTION
Test::Unit::Procedural is the procedural style interface to a sophisticated unit testing framework for Perl that is derived from the JUnit testing framework for Java by Kent Beck and Erich Gamma. While this framework is originally intended to support unit testing in an object- oriented development paradigm (with support for inheritance of tests etc.), Test::Unit::Procedural is intended to provide a simpler inter- face to the framework that is more suitable for use in a scripting style environment. Therefore, Test::Unit::Procedural does not provide much support for an object-oriented approach to unit testing - if you want that, please have a look at Test::Unit::TestCase. You test a given unit (a script, a module, whatever) by using Test::Unit::Procedural, which exports the following routines into your names- pace: assert() used to assert that a boolean condition is true create_suite() used to create a test suite consisting of all methods with a name prefix of "test" run_suite() runs the test suite (text output) add_suite() used to add test suites to each other For convenience, "create_suite()" will automatically build a test suite for a given package. This will build a test case for each subrou- tine in the package given that has a name starting with "test" and pack them all together into one TestSuite object for easy testing. If you dont give a package name to "create_suite()", the current package is taken as default. Test output is one status line (a "." for every successful test run, or an "F" for any failed test run, to indicate progress), one result line ("OK" or "!!!FAILURES!!!"), and possibly many lines reporting detailed error messages for any failed tests. Please remember, Test::Unit::Procedural is intended to be a simple and convenient interface. If you need more functionality, take the object-oriented approach outlined in Test::Unit::TestCase. AUTHOR
Copyright (c) 2000-2002, 2005 the PerlUnit Development Team (see Test::Unit or the AUTHORS file included in this distribution). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
o Test::Unit::TestCase o the procedural style examples in the examples directory perl v5.8.8 2006-09-13 Test::Unit::Procedural(3pm)

Check Out this Related Man Page

Test::Unit::Assertion::Regexp(3pm)			User Contributed Perl Documentation			Test::Unit::Assertion::Regexp(3pm)

NAME
Test::Unit::Assertion::Regexp - Assertion with regex matching SYNOPSIS
require Test::Unit::Assertion::Regexp; my $assert_re = Test::Unit::Assertion::Regexp->new(qr/a_pattern/); $assert_re->do_assertion('a_string'); This is rather more detail than the average user will need. Test::Unit::Assertion::Regexp objects are generated automagically by Test::Unit::Assert::assert when it is passed a regular expression as its first parameter. sub test_foo { ... $self->assert(qr/some_pattern/, $result); } If the assertion fails then the object throws an exception with details of the pattern and the string it failed to match against. Note that if you need to do a 'string does not match this pattern' type of assertion then you can do: $self->assert(qr/(?!some_pattern)/, $some_string) ie. Make use of the negative lookahead assertion. IMPLEMENTS
Test::Unit::Assertion::Regexp implements the Test::Unit::Assertion interface, which means it can be plugged into the Test::Unit::TestCase and friends' "assert" method with no ill effects. DESCRIPTION
The class is used by the framework to provide sensible 'automatic' reports when a match fails. The old: $self->assert(scalar($foo =~ /pattern/), "$foo didn't match /.../"); seems rather clumsy compared to this. If the regexp assertion fails, then the user is given a sensible error message, with the pattern and the string that failed to match it... AUTHOR
Copyright (c) 2001 Piers Cawley <pdcawley@iterative-software.com>. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
o Test::Unit::TestCase o Test::Unit::Assertion perl v5.8.8 2006-09-13 Test::Unit::Assertion::Regexp(3pm)
Man Page