This example shows how to use shared fixtures when creating tests. You can share test fixtures across test classes using the SharedTestFixtures
attribute of the TestCase
class. To exemplify this attribute, create multiple test classes in a subdirectory of your current working folder. The test methods are shown only at a high level.
The two test classes used in this example test the DocPolynom
class and the BankAccount
class. You can access both classes in MATLAB®, but you must add them to the MATLAB path. A path fixture adds the directory to the current path, runs the tests, and removes the directory from the path. Since both classes require the same addition to the path, the tests use a shared fixture.
Create a test file for the DocPolynom
class. Create the shared fixture by specifying the SharedTestFixtures
attribute for the TestCase
and passing in a PathFixture
.
DocPolynomTest Class Definition File
Create a test file for the BankAccount
class. Create the shared fixture by specifying the SharedTestFixtures
attribute for the TestCase
and passing in a PathFixture
.
BankAccountTest Class Definition File
The classes DocPolynomTest.m
and BankAccountTest.m
are in your working directory. Create a test suite from your current working directory. If you have additional tests, they are included in the suite when you use the TestSuite.fromFolder
method. Create the test suite at the command prompt.
import matlab.unittest.TestSuite;
suiteFolder = TestSuite.fromFolder(pwd);
At the command prompt, run the tests in the test suite.
result = run(suiteFolder);
Setting up PathFixture. Description: Adds 'C:\Program Files\MATLAB\R2013b\help\techdoc\matlab_oop\examples' to the path. __________ Running BankAccountTest ..... Done BankAccountTest __________ Running DocPolynomTest ... Done DocPolynomTest __________ Tearing down PathFixture. Description: Restores the path to its previous state. __________
The testing framework sets up the test fixture, runs all the tests in each
file, and then tears the fixture down. If the path fixture was set up and torn
down using TestClassSetup
methods, the fixture is set up and
torn down twice—once for each test file.
matlab.unittest.fixtures
| matlab.unittest.fixtures.PathFixture
| matlab.unittest.TestCase