Main Content

setup

Class: matlab.unittest.fixtures.Fixture
Namespace: matlab.unittest.fixtures

Set up fixture

Description

setup(fixture) makes changes to the environment when the testing framework sets up the fixture. Classes deriving from the Fixture interface must implement the setup method.

A fixture must restore the environment to its original state when the framework tears down the fixture. To restore the environment, call the addTeardown method within the setup method, or implement the teardown method.

example

Input Arguments

expand all

Fixture, specified as a matlab.unittest.fixtures.Fixture object.

Attributes

Abstracttrue

To learn about attributes of methods, see Method Attributes.

Examples

expand all

Create and use a custom fixture that changes the output display format for numeric values to the currency format with two digits after the decimal point.

In a file named CurrencyFormatFixture.m in your current folder, create the CurrencyFormatFixture class by subclassing the matlab.unittest.fixtures.Fixture interface. Implement the setup method in the class so that the fixture changes the display format for numeric values to the currency format. To restore the display format to its original state after testing, call the addTeardown method within the setup method.

classdef CurrencyFormatFixture < matlab.unittest.fixtures.Fixture
    methods
        function setup(fixture)
            originalFormat = format;
            fixture.addTeardown(@format,originalFormat)
            format bank
        end
    end
end

In a file named ExampleTest.m in your current folder, create the ExampleTest class that applies the custom fixture and verifies that a numeric value is displayed in the expected format. To simplify this example, the actual value is produced by a call to the formattedDisplayText function. In practice, you test user-defined code.

classdef ExampleTest < matlab.unittest.TestCase
    methods (Test)
        function formatTest(testCase)
            testCase.applyFixture(CurrencyFormatFixture)
            actual = strtrim(formattedDisplayText(pi));
            expected = "3.14";
            testCase.verifyEqual(actual,expected)
        end
    end
end

Run the ExampleTest class. The testing framework sets up the fixture, which changes the display format to the currency format. Once the test run is complete, the framework tears down the fixture, which restores the original display format. In this example, the test passes.

runtests("ExampleTest");
Running ExampleTest
.
Done ExampleTest
__________

Tips

  • Only the testing framework calls the setup method when setting up the fixture. You cannot directly call the method in your code. To perform the setup actions in setup, use the fixture by calling the applyFixture method.

Version History

Introduced in R2014a