本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

matlab.unittest.TestCase 类

包: matlab.unittest

所有 matlab.unittest 测试类的超类

说明

通过 TestCase 类,可以在 matlab.unittest 框架中编写测试。它提供了编写并标识测试内容的方法,以及测试脚手架的设置与拆解例程。创建此类测试需要从 TestCase 派生,以生成 TestCase 子类。然后,子类便可以利用元数据属性来指定测试和测试脚手架。

构造

使用 forInteractiveUse 静态方法创建一个 TestCase,以供交互式命令行使用。在框架中运行测试时,TestCase 实例通过 matlab.unittest.TestRunner 进行构造。

方法

addTeardown动态添加拆解例程
applyFixture将脚手架与 TestCase 配合使用
forInteractiveUse创建供交互使用的 TestCase
getSharedTestFixtures提供对共享测试脚手架的访问权限
log记录诊断信息
onFailure动态添加检测故障的诊断
run运行 TestCase 测试

继承的方法

TestCase 类从以下类继承方法:

matlab.unittest.qualifications.Assertable用来确认测试先决条件的验证
matlab.unittest.qualifications.Assumable用于筛选测试内容的验证
matlab.unittest.qualifications.FatalAssertable用于中止测试执行的验证
matlab.unittest.qualifications.Verifiable产生软故障条件的验证

属性

类属性

TestCase 对象支持以下类级别属性。请在 classdef 块中类名称之前指定类级别属性。

SharedTestFixtures包含共享测试脚手架的类块。必须将 SharedTestFixtures 定义为 matlab.unittest.fixtures.Fixture 实例的元胞数组。
TestTags包含使用指定值标记的测试的类块。必须将 TestTags 定义为由非空字符向量组成的元胞数组或由非空字符串组成的数组,其中每个元素是一个测试标记。

方法特性

派生自 TestCase 的类可以定义包含 matlab.unittest 框架特定属性的 methods 块,以指定测试内容。

Test包含测试方法的方法块。
TestMethodSetup包含设置代码的方法块。
TestMethodTeardown包含拆解代码的方法块。
TestClassSetup包含类级别设置代码的方法块。
TestClassTeardown包含类级别拆解代码的方法块。
ParameterCombination

包含参数化的测试代码的方法块。该属性接受以下值:

  • 'exhaustive'(默认值):对所有的参数组合调用测试方法。

  • 'sequential':通过每个参数中的相应值调用测试方法。每个参数必须包含相同数量的值。

  • 'pairwise':至少对每对参数值调用一次测试方法。

TestTags包含使用指定值标记的测试的方法块。必须将 TestTags 定义为由非空字符向量组成的元胞数组或由非空字符串组成的数组,其中每个元素是一个测试标记。

属性特性

派生自 TestCase 的类可以定义包含 matlab.unittest 框架特定属性的 properties 块,以指定测试内容。

ClassSetupParameter用于定义 TestClassSetup 块中方法的参数化测试属性的属性块
MethodSetupParameter用于定义 MethodSetup 块中方法的参数化测试属性的属性块
TestParameter用于定义 Test 块中方法的参数化测试属性的属性块

事件

VerificationFailed

验证失败时触发。QualificationEventData 对象传递给侦听程序回调函数。

VerificationPassed

通过验证时触发。QualificationEventData 对象传递给侦听程序回调函数。

AssertionFailed

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

AssertionPassed

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

FatalAssertionFailed

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

FatalAssertionPassed

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

AssumptionFailed

假设失败时触发。QualificationEventData 对象传递给侦听程序回调函数。

AssumptionPassed

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

ExceptionThrown

引发异常时由 TestRunner 触发。ExceptionEventData 对象传递给侦听程序回调函数。

DiagnosticLogged

调用 log 方法由 TestRunner 触发。LoggedDiagnosticEventData 对象传递给侦听程序回调函数。

示例

全部折叠

使用 TestMethodSetupTestMethodTeardown 方法创建测试用例类 FigurePropertiesTest

classdef FigurePropertiesTest < matlab.unittest.TestCase
 
    properties
        TestFigure
    end
 
    methods(TestMethodSetup)
        function createFigure(testCase)
            testCase.TestFigure = figure;
        end
    end
 
    methods(TestMethodTeardown)
        function closeFigure(testCase)
            close(testCase.TestFigure)
        end
    end
 
    methods(Test)
 
        function defaultCurrentPoint(testCase)
 
            cp = testCase.TestFigure.CurrentPoint;
            testCase.verifyEqual(cp, [0 0], ...
                'Default current point is incorrect')
        end
 
        function defaultCurrentObject(testCase)
            import matlab.unittest.constraints.IsEmpty
 
            co = testCase.TestFigure.CurrentObject;
            testCase.verifyThat(co, IsEmpty, ...
                'Default current object should be empty')
        end
 
    end
 
end

在 R2013a 中推出