TestRunnerPlugin
methods have three levels: Test
Suite, Test Class, and Test. At each level, you implement methods
to extend the creation, setup, run, and teardown of tests or test
fixtures. The TestRunner
runs these methods as shown
in the figure.
Additionally, the reportFinalizedResult
method enables the
test runner to report finalized test results. A test result is finalized
when no remaining test content can modify the results. The test runner
determines if it invokes the reportFinalizedResult
method
at each level.
The creation methods are the only set of TestRunnerPlugin
methods
with an output argument. Typically, you extend the creation methods
to listen for various events originating from the test content at
the corresponding level. Since both TestCase
and Fixture
instances
inherit from the handle
class, you add these listeners
using the addlistener
method. The methods that
set up, run and tear down test content extend the way the TestRunner
evaluates
the test content.
The TestRunnerPlugin
methods at the test level
extend the creation, setup, run, and teardown of a single test suite
element. A single test element consists of one test method or, if
the test is parameterized, one instance of the test's parameterization.
Type of Method | Test
Level Falls Within Scope of runTest |
---|---|
creation method | createTestMethodInstance |
setup method | setupTestMethod |
run method | runTestMethod |
teardown method | teardownTestMethod |
At this level, the createTestMethodInstance
method
is the only plugin method with an output argument. It returns the TestCase
instances
created for each Test
element. The test framework
passes each of these instances into corresponding Test
methods,
and into any methods with the TestMethodSetup
or TestMethodTeardown
attribute.
The test framework evaluates methods at the test level within
the scope of the runTest
method. Provided the test
framework completes all TestMethodSetup
work, it
invokes the plugin methods in this level a single time per test element.
The TestRunnerPlugin
methods at the test
class level extend the creation, setup, run, and teardown of test
suite elements that belong to the same test class or the same function-based
test. These methods apply to a subset of the full TestSuite
that
the TestRunner
runs.
Type of Method | Test
Class Level Falls Within Scope of runTestClass |
---|---|
creation method | createTestClassInstance |
setup method | setupTestClass |
run method | runTest |
teardown method | teardownTestClass |
At this level, the createTestClassInstance
method
is the only plugin method with an output argument. It returns the TestCase
instances
created at the class level. For each class, the test framework passes
the instance into any methods with the TestClassSetup
or TestClassTeardown
attribute.
A test class setup is parameterized if it contains properties
with the ClassSetupParameter
attribute. In this
case, the test framework evaluates the setupTestClass
and teardownTestClass
methods
as many times as the class setup parameterization dictates.
The run method at this level, runTest
, extends
the running of a single TestSuite
element, and
incorporates the functionality described for the test level plugin
methods.
The test framework evaluates methods at the test class level
within the scope of the runTestClass
method. If TestClassSetup
completes
successfully, it invokes the runTest
method one
time for each element in the Test
array. Each TestClassSetup
parameterization
invokes the creation, setup, and teardown methods a single time.
The TestRunnerPlugin
methods at the test
suite level extend the creation, setup, run, and teardown of shared
test fixtures. These methods fall within the scope of runTestSuite
.
Type of Method | Test
Level Falls Within Scope of runTestSuite |
---|---|
creation method | createSharedTestFixture |
setup method | setupSharedTestFixture |
run method | runTestClass |
teardown method | teardownSharedTestFixture |
At this level, the createSharedTestFixture
method
is the only plugin method with an output argument. It returns the Fixture
instances
for each shared fixture required by a test class. These fixture instances
are available to the test through the getSharedTestFixtures
method
of TestCase
.
The run method at this level, runTestClass
,
extends the running of tests that belong to the same test class or
the same function-based test, and incorporates the functionality described
for the test class level plugin methods.
addlistener
| matlab.unittest.fixtures.Fixture
| matlab.unittest.plugins.OutputStream
| matlab.unittest.plugins.TestRunnerPlugin
| matlab.unittest.TestCase
| matlab.unittest.TestRunner