matlab.unittest.

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

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

Синтаксис

testObj = matlab.unittest.TestSuite.fromName(name)
testObj = matlab.unittest.TestSuite.fromName(name,'ExternalParameters',ExternalParameters)

Описание

пример

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.

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

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
__________

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