Matthew Astley > Test-Unit-0.25 > Test::Unit::Result

Download:
Test-Unit-0.25.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  4
Open  5
View/Report Bugs
Source   Latest Release: Test-Unit-0.25_1325

NAME ^

Test::Unit::Result - unit testing framework helper class

SYNOPSIS ^

This class is not intended to be used directly

DESCRIPTION ^

This class is used by the framework to record the results of tests, which will throw an instance of a subclass of Test::Unit::Exception in case of errors or failures.

To achieve this, this class gets called with a test case as argument. It will call this test case's run method back and catch any exceptions thrown.

It could be argued that Test::Unit::Result is the heart of the PerlUnit framework, since TestCase classes vary, and you can use one of several Test::Unit::TestRunners, but we always gather the results in a Test::Unit::Result object.

This is the quintessential call tree of the communication needed to record the results of a given test:

    $aTestCase->run() {
        # creates result
        $aTestResult->run($aTestCase) { 
            # catches exception and records it
            $aTestCase->run_bare() {
                # runs test method inside eval
                $aTestCase->run_test() {
                    # calls method $aTestCase->name() 
                    # and propagates exception
                    # method will call Assert::assert() 
                    # to cause failure if test fails on 
                    # test assertion
                    # it finds this because $aTestCase is-a Assert
                }
            }
        }
    }

Note too that, in the presence of Test::Unit::TestSuites, this call tree can get a little more convoluted, but if you bear the above in mind it should be apparent what's going on.

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 ^

syntax highlighting: