Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

matlab.unittest.fixtures.Fixture 类

命名空间: matlab.unittest.fixtures

测试脚手架的基础接口

描述

matlab.unittest.fixtures.Fixture 类为测试脚手架提供接口。脚手架指定设置和拆解代码,这些代码设置测试环境并在运行测试后将其还原到初始状态。

Fixture 子类必须实现 setup 方法,该方法可在测试框架设置脚手架时对环境进行更改。要在框架拆解脚手架时还原环境,请在 setup 方法中调用 addTeardown 方法,或实现 teardown 方法。

除了在 Fixture 子类中指定设置和拆解操作之外,如果脚手架是可配置的(例如,如果其类构造函数接受输入参量),您还必须实现 isCompatible 方法。测试框架调用 isCompatible 来确定相同 Fixture 子类的实例是否对应于相同的共享测试脚手架状态。

matlab.unittest.fixtures.Fixture 类是一个 handle 类。

类属性

Abstract
true

有关类属性的信息,请参阅类属性

属性

全部展开

设置操作的描述,以字符向量形式返回。在您的 Fixture 实现中设置此属性,以描述在测试框架调用 setup 方法时脚手架执行的操作。如果您将脚手架用作共享测试脚手架,则框架会在设置脚手架时显示属性值。

属性:

GetAccess
public
SetAccess
protected

拆解操作的描述,以字符向量形式返回。在您的 Fixture 实现中设置此属性,以描述当测试框架调用 teardown 方法或传递给 addTeardown 方法的函数句柄时脚手架执行的操作。如果您将脚手架用作共享测试脚手架,则框架会在拆解脚手架时显示属性值。

属性:

GetAccess
public
SetAccess
protected

方法

全部展开

事件

事件名称触发器事件数据事件属性
AssumptionFailed假设失败时触发。QualificationEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

AssumptionPassed通过假设时触发。QualificationEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

AssertionFailed断言失败时触发。QualificationEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

AssertionPassed通过断言时触发。QualificationEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

FatalAssertionFailed致命断言失败时触发。QualificationEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

FatalAssertionPassed通过致命断言时触发。QualificationEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

ExceptionThrown当测试运行器在测试内容中捕获到异常时由测试运行器触发。系统会将一个 ExceptionEventData 对象传递给侦听程序回调函数。matlab.unittest.qualifications.ExceptionEventData

NotifyAccess: private

ListenAccess: public

DiagnosticLogged在调用 log 方法时触发。LoggedDiagnosticEventData 对象传递给侦听程序回调函数。matlab.unittest.diagnostics.LoggedDiagnosticEventData

NotifyAccess: private

ListenAccess: public

示例

全部折叠

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

在当前文件夹的名为 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
__________

详细信息

全部展开

版本历史记录

在 R2014a 中推出

全部展开