Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

matlab.unittest.TestSuite.fromName

类: matlab.unittest.TestSuite
包: matlab.unittest

基于测试元素的名称创建 Test 对象

说明

示例

testObj = matlab.unittest.TestSuite.fromName(name) 根据测试元素的名称 name 创建标量 Test 对象 testObj

testObj = matlab.unittest.TestSuite.fromName(name,'ExternalParameters',ExternalParameters) 允许套件使用指定的外部参数代替在参数化测试中定义的对应参数。

输入参数

name

matlab.unittest.Test 元素的名称,指定为字符串数组、字符向量或字符向量元胞数组。对于基于类的测试,name 包含 TestCase 类的名称和测试方法以及有关参数化的信息。对于基于函数的测试,name 包含主函数和局部测试函数的名称。对于基于脚本的测试,name 包含脚本名称以及测试段或元胞的标题。如果该段没有标题,MATLAB® 将会分配一个标题。name 参数与 Test 对象的 Name 属性对应。

ExternalParameters

用于参数化测试的 matlab.unittest.parameters.Parameter 实例的数组。框架使用这些外部参数代替在参数化测试中定义的对应参数。有关详细信息,请参阅在参数化测试中使用外部参数

属性

Statictrue

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

示例

全部展开

在您的 MATLAB 路径下的文件中创建要测试的函数 add5

function res = add5(x)
% ADD5 Increment input by 5.
if ~isa(x,'numeric')
    error('add5:InputMustBeNumeric','Input must be numeric.')
end
res = x + 5;
end

在您的包含以下 TestCase 类的 MATLAB 路径下创建文件 Add5Test.m

classdef Add5Test < matlab.unittest.TestCase
    properties (TestParameter)
        Type = {'double','single','int8','int32'};
    end
    
    methods (Test)
        function testNonNumericInput(testCase)
            testCase.verifyError(@()add5('0'),'add5:InputMustBeNumeric')
        end
        function testResultType(testCase, Type)
            actOutput = add5(cast(1,Type));
            testCase.verifyClass(actOutput, Type)
        end
        
    end
end

在命令提示符下,为 Add5Test 类中的 testNonNumericInput 方法创建测试对象。

import matlab.unittest.TestSuite
testObj = TestSuite.fromName('Add5Test/testNonNumericInput');

运行测试

result = run(testObj);
Running Add5Test
.
Done Add5Test
__________

Add5Test 类中的 testResultType 方法创建一个参数化测试,并运行该测试。

testObj = TestSuite.fromName('Add5Test/testResultType(Type=single)');
result = run(testObj);
Running Add5Test
.
Done Add5Test
__________

提示

  • 创建和运行 TestSuite 时,name 描述的测试类、函数或脚本必须位于 MATLAB 路径中。

另请参阅