NAME

Test::Class - Parrot extension for objecty testing of modules

SYNOPSIS

    .sub 'main'
        # load this library
        load_bytecode 'Test/Class.pbc'

        # load other testing libraries
        .include 'include/test_more.pir'

        .local pmc class
        class = subclass [ 'Test'; 'Class' ], 'MyClass'

        .local pmc obj
        obj = class.'new'()
        obj.'runtests'()
    .end

    .namespace [ 'MyClass' ]

    .sub 'init' :vtable :method
        self.'add_startup'(  'startup',  'tests' => 1 )
        self.'add_shutdown'( 'shutdown', 'tests' => 1 )
        self.'add_setup'(    'setup',    'tests' => 2 )
        self.'add_teardown'( 'teardown', 'tests' => 1 )
        self.'add_test'(     'test_foo', 'tests' => 3 )
        self.'add_test'(     'test_bar', 'tests' => 2 )
    .end

DESCRIPTION

Test::Class is a pure-Parrot library for testing code in a class-y fashion. It allows you to group test code in methods and use other object oriented programming principles to organize and reuse code.

Most of your tests will occur within test methods; Test::Class runs these automatically for you.

THIS INTERFACE MAY CHANGE IN THE NEAR FUTURE.

For each test method, you must call add_test(), passing the name of the test method. You may optionally pass the named parameter tests with the number of test assertions in the method. You may have as many test methods as you like.

Test::Class can also run methods at the start of the testing process and after all tests have ended. These are startup and shutdown tests, respectively. Call add_startup() and add_shutdown() tests to add each type of test. Again, you may have as many of these methods as you like.

Finally, Test::Class can run setup and teardown methods before and after each individual test method. Call add_setup() and add_teardown() respectively.

When you have finished adding tests, call the runtests() method to run everything.

AUTHOR

Written and maintained by chromatic, chromatic at wgz dot org, based on Test::Class in Perl 5, http://search.cpan.org/perldoc?Test::Class, written by Adrian Howard. Please send patches, feedback, and suggestions to the Perl 6 internals mailing list.

COPYRIGHT

Copyright (C) 2008, Parrot Foundation.

# $Id$