matlab.unittest.TestSuite.fromName

Класс: matlab.unittest.TestSuite
Пакет: 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® присваивает единицу. The 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.

См. также