Main Content

teardown

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

Tear down fixture

Description

teardown(fixture) restores the environment to its original state when the testing framework tears down the fixture.

To specify teardown code, you can implement this method in your Fixture subclass. Alternatively, you can call the addTeardown method within the setup method.

example

Input Arguments

expand all

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

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. Add these elements to the class:

  • OriginalFormat property — Add this property to keep track of the original display format and pass this information to the method that requires it.

  • setup method — Implement this method so that the fixture changes the display format for numeric values to the currency format.

  • teardown method — Implement this method so that the fixture restores the display format to its original state after testing.

classdef CurrencyFormatFixture < matlab.unittest.fixtures.Fixture
    properties (Access=private)
        OriginalFormat
    end

    methods
        function setup(fixture)
            fixture.OriginalFormat = format;
            format bank
        end

        function teardown(fixture)
            format(fixture.OriginalFormat)
        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 teardown method when tearing down the fixture. You cannot directly call the method in your code. To perform the teardown actions in teardown, use the fixture by calling the applyFixture method.

Version History

Introduced in R2014a