Test::Unit::Result(3p)

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