Test::Assertions::TestScript - Base for test scripts
use Test::Assertions::TestScript;
use Module::To::Test qw( frobnicate );
ASSERT(frobnicate(),"Frobnicate returns true");
Test::Assertions::TestScript provides a base for writing test scripts. It performs some
common actions such as setting up the @INC path and parsing command-line options, specifically:
-
The lib and t/lib directories are added to @INC.
-
The current directory is changed to the directory the script is in.
-
Test script command-line options are parsed. (See COMMAND-LINE OPTIONS)
-
The test set of functions from Test::Assertions are imported into your test
script.
Test::Assertions::TestScript makes certain assumptions about the filesystem layout of
your project:
-
Modules that you are testing are in the lib directory of your project.
-
Test scripts are in the t directory.
-
There may also be a t/lib directory for any modules written for the test process.
Test::Assertions::TestScript should be use d before any modules that you intend to test.
Options can be supplied to the import function. These should be placed after
the use or import . For example
use Test::Assertions::TestScript( tests => 10, options => { 'b', \$opt_b })
The following options are defined:
- tests
-
The number of tests to pass to
plan tests from Test::Assertions. For example to tell Test::Assertions::TestScript that the script contains 42 tests:
use Test::Assertions::TestScript tests => 42;
- options
-
A hashref of additional options to capture via Getopt::Long. The ``options'' import parameter is passed
verbatim to GetOptions, so something along the following lines is required in order to capture the ``-b'' command line option:
use Test::Assertions::TestScript( options => { 'b' => \$opt_b } );
A script based on Test::Assertions::TestScript will detect the following
command line options.
- -t
-
Shallow tracing. Traces are
print ed and AutoImport is turned on.
- -T
-
Deep tracing. Traces are
print ed and AutoImport is turned on.
- --trace-module=MODULE
-
Imports tracing into MODULE specifically. Can be specified multiple times.
- -s
-
Save generated output. You will need to write the actual code to do this in
your testscript, but you can inspect $Test::Assertions::TestScript::SAVE_OUTPUT
to see whether this argument was given.
Be aware that all other command line options will be disregarded unless the
options import parameter is used to capture them.
$Revision: 1.18 $
Colin Robertson <cpan _at_ bbc _dot_ co _dot_ uk>
(c) BBC 2005-6. This program is free software; you can redistribute it and/or modify it under the GNU GPL.
See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt
|