---
name: "Test::Unit::Result"
section: "3pm"
platform: "linux"
package: "libtest-unit-perl"
version: "0.27-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Test::Unit::Result"
---

# Test::Unit::Result(3pm)

unit testing framework helper class

## 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
