Test::Unit::Result - unit testing framework helper class
This class is not intended to be used directly
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.
Copyright (c) 2000-2002, 2005 the PerlUnit Development Team
(see the Test::Unit manpage 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.
|