exponenta event banner

matlab.unittest. TestSuite.fromName

Класс: matlab.unittest.StartSuite
Пакет: matlab.unittest

Создать Test объект из имени тестового элемента

Описание

пример

testObj = matlab.unittest.TestSuite.fromName(name) создает скаляр Test объект, testObj, от имени тестового элемента, name.

testObj = matlab.unittest.TestSuite.fromName(name,'ExternalParameters',ExternalParameters) позволяет использовать указанные внешние параметры вместо соответствующих параметров, определенных в параметризованном тесте.

Входные аргументы

name

Название matlab.unittest.Test элемент, заданный как строковый массив, символьный вектор или массив ячеек символьных векторов. Для тестов на основе классов name содержит имя TestCase класс и метод тестирования, а также информацию о параметризации. Для функциональных тестов, name содержит имя основной функции и локальной тестовой функции. Для тестов на основе сценариев name содержит имя сценария и название тестового раздела или ячейки. Если раздел не имеет заголовка, MATLAB ® присваивает его. name аргумент соответствует Name имущества Test объект.

ExternalParameters

Массив matlab.unittest.parameters.Parameter экземпляры для использования в параметризованных тестах. Платформа использует эти внешние параметры вместо соответствующих параметров, определенных в параметризованном тесте. Дополнительные сведения см. в разделе Использование внешних параметров в параметризованном тесте.

Признаки

Statictrue

Сведения об атрибутах методов см. в разделе Атрибуты метода.

Примеры

развернуть все

Создайте тестируемую функцию, add5, в файле по пути MATLAB.

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

Создание файла, Add5Test.m, на пути MATLAB, который содержит следующее TestCase класс.

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

В командной строке создайте тестовый объект для testNonNumericInput метод в Add5Test класс.

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

Запустите тест

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

Создание параметризованного теста для testResultType метод в Add5Test и запустите тест.

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

Совет

  • Класс теста, функция или сценарий, описанные в name должен находиться в пути MATLAB при создании и запуске TestSuite.

См. также