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® присваивает тот. name аргумент соответствует Name свойство Test объект.

ExternalParameters

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

Примеры

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

Создайте функцию, чтобы протестировать, 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.

Смотрите также