Modules Index

XML Schema Home

# XML::Schema::Test

Utility module for XML::Schema regression tests.

## Table of Contents

Synopsis |  |  |
Description |  |  |
Subroutines | : | ntests(), ok(), match() |

## Synopsis

    use XML::Schema::Test;

    # specify number of tests
    ntests(2);

    # test if passed value equates true (ok) or false (not ok)
    ok( $true_or_false );

    # test if result matches expected value (ok) or not (not ok)
    match( $result, $expect )

## Description

This module implements some basic subroutines which are used in the XML::Schema regression test suite. The tests themselves can be found in the 't' subdirectory of the distribution directory.

## Subroutines

This module exports the following subroutines into the caller's package.

- ntests( $n )

  Called before any tests to declare how many tests are expected to follow.

      ntests(2);

  This generates the familiar output which is compatible with Perl's Test::Harness module (i.e. that which gets run when you 'make test').

      1..2

  If the ntests() subroutine isn't called then the test module will cache all results generated via ok() and match() and then display the results as the script finishes executing, having counted them to determine the total number of tests.

- ok( $truth, $error )

  Called to register a test result. The first value should be any true value to indicate success or any false value to indicate failure.

      ok( $foo );
      ok( defined $foo );
      ok( $foo > 10 );

  The second optional value may be a error message which is printed in the case of the test failing. This is very useful for determining which test failed without having to count through your script to find the nth test.

      ok( $foo, '$foo is not true' );
      ok( defined $foo, '$foo is not defined' );
      ok( $foo > 10, '$foo is not > 10' );

- match( $result, $expect )

  Called to test that a result string matches an expected string. Calls `ok()` with a true value if they match or a false value if not.

      match( $foo, 'The foo string' );

Perl XML::Schema Documentation