NAME
Test::Assertions::TestScript - Base for test scripts
SYNOPSIS
use Test::Assertions::TestScript;
use Module::To::Test qw( frobnicate );
ASSERT(frobnicate(),"Frobnicate returns true");
DESCRIPTION
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
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 } );
COMMAND-LINE OPTIONS
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.
VERSION
$Revision: 1.18 $
AUTHOR
Colin Robertson <cpan _at_ bbc _dot_ co _dot_ uk>
COPYRIGHT
(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