# Test::Unit::Result - phpMan

## 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
    *   [Test::Unit::Assert]

    *   [Test::Unit::TestCase]

    *   [Test::Unit::Exception]

