Main Content

addTeardown

类: matlab.unittest.fixtures.Fixture
命名空间: matlab.unittest.fixtures

向脚手架动态添加拆解代码

说明

addTeardown(fixture,teardownFcn) 向脚手架注册拆解代码 teardownFcn。要在测试框架拆解脚手架时动态运行拆解代码,请在 Fixture 子类的 setup 方法中调用 addTeardown

为了还原环境,该方法会强制应用后进先出 (LIFO) 策略,使拆解操作以与其对应的设置操作相反的顺序执行。使用 addTeardown 获得满足异常安全条件的测试内容。

示例

addTeardown(fixture,teardownFcn,input1,...,inputN) 还可指定调用 teardownFcn 来拆解脚手架时使用的输入参数。

输入参数

全部展开

脚手架,指定为 matlab.unittest.fixtures.Fixture 对象。

拆解代码,指定为函数句柄。

示例: addTeardown(fixture,@() format(originalFormat))

用于调用函数句柄 teardownFcn 以拆解脚手架的输入参数,指定为以逗号分隔的值列表。

示例: addTeardown(fixture,@close,fig)

示例: addTeardown(fixture,@setenv,"UserName",originalUserName)

属性

Sealedtrue

要了解方法的属性,请参阅方法属性

示例

全部展开

创建并使用自定义脚手架,它将数值的输出显示格式更改为小数点后两位数的货币格式。

在当前文件夹的名为 CurrencyFormatFixture.m 的文件中,通过子类化 matlab.unittest.fixtures.Fixture 接口来创建 CurrencyFormatFixture 类。在类中实现 setup 方法,以便脚手架将数值的显示格式更改为货币格式。要在测试后将显示格式还原到其原始状态,请在 setup 方法中调用 addTeardown 方法。

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

在当前文件夹内名为 ExampleTest.m 的文件中,创建 ExampleTest 类,以应用自定义脚手架,并验证数值是否以预期格式显示。为了简化此示例,实际值是通过调用 formattedDisplayText 函数生成的。在实际操作中,您要测试用户定义的代码。

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

运行 ExampleTest 类。测试框架可设置脚手架,以将显示格式更改为货币格式。一旦测试运行完毕,框架就会拆解脚手架,这会还原原始显示格式。在此示例中,测试通过。

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

备选方法

您可以实现 teardown 方法,而无需通过在 setup 方法中调用 addTeardown 方法来指定拆解代码。

版本历史记录

在 R2014a 中推出