exponenta event banner

sltest.testmanager.Test Класс итерации

Пакет: sltest.testmanager
Суперклассы:

Создание или изменение итерации теста

Описание

Итерации позволяют протестировать комбинацию настроек модели для таких методов тестирования, как Monte Carlo и подметка параметров. Итерации инициализируются во время выполнения теста, но до обратного вызова модели и обратного вызова теста. После создания объекта итерации теста можно переопределить аспекты тестового случая для каждой итерации с помощью методов класса.

Сценарий итерации создается в текстовом окне в разделе Итерации тестового случая. Сценарии итерации не могут выполняться в окне команд MATLAB ®.

Примеры сценариев на этой справочной странице должны быть вставлены в этот раздел, а также должны быть определены другие разделы тестового случая. Дополнительные сведения об итерациях и итерациях в сценариях см. в разделе Тестовые итерации.

Строительство

iterationObj = sltest.testmanager.TestIteration возвращает объект итерации теста. Объект используется для построения одной итерации в тестовом случае. Каждая итерация, которую требуется создать в тесте, должна использовать один объект итерации.

Можно также создать тестовую итерацию в сценарии итерации с помощью sltestiteration функция.

Если используется for цикл в окне команд MATLAB, чтобы добавить много итераций в тестовый случай, то окно команд MATLAB может временно стать непригодным для использования. Вместо этого используйте векторизацию в окне команд для добавления итераций в тестовый случай. Например:

iterations(100) = sltest.testmanager.TestIteration; 
addIteration(tc,iterations);

Свойства

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

Имя тестовой итерации, указанное как символьный вектор. Имя итерации должно быть уникальным от других итераций в тестовом случае.

Пример: 'Iteration 1a'

Набор переопределений параметров модели для итерации, возвращаемый в виде массива ячеек векторов символов.

Набор параметров теста для итерации, возвращаемый в виде массива ячеек символьных векторов.

Набор переопределений переменных модели для итерации, возвращаемый в виде массива ячеек векторов символов.

Параметр для запуска итерации с тестовым случаем, указанным как логический.

Методы

getIterationResults Получить журнал результатов итерации теста
setModelParamЗадать параметр модели для итерации
setTestParamЗадать параметр тестового случая
setVariableЗадание переопределения переменной модели

Примеры

свернуть все

В этом примере итерации со сценарием укажите модель в тестовом примере sldemo_absbrake. Итерации генерируются во время выполнения теста. Этот раздел сценария находится в разделе «Итерации по сценариям» тестового случая. Она будет выполняться только в разделе «Итерации по сценариям». sltest_testCase является переменной, определенной для вас в разделе Итерации по сценариям, который является родительским объектом тестового случая итерации.

% Specify the parameter sweep
vars = 32 : 0.5 : 34;

% Create iteration for each parameter using a loop
for k = 1 : length(vars)

    % Create test iteration object
    testItr = sltest.testmanager.TestIteration;

    % Set the parameter value for this iteration
    setVariable(testItr,'Name','g','Source',...
       'base workspace','Value',vars(k));

    str = sprintf('Iteration %d',k);

    % Add the iteration object to the test case
    addIteration(sltest_testCase,testItr,str);
end

В этом примере итерации со сценарием должны быть наборы параметров, определенные в разделе Переопределения параметров (Parameter Overrides) тестового случая. Итерации генерируются во время выполнения теста. Этот раздел сценария находится в разделе «Итерации по сценариям» тестового случая. Она будет выполняться только в разделе «Итерации по сценариям». sltest_testCase является переменной, определенной для вас в разделе Итерации по сценариям, который является родительским объектом тестового случая итерации.

% Define parameter sets for a test case and add this code in the

% Scripted iterations section of the test case
for k = 1 : length(sltest_parameterSets)

    % Create test iteration object    
    testItr = sltest.testmanager.TestIteration;

    % Use the parameter set in this iteration
    testItr.setTestParam('ParameterSet',sltest_parameterSets{k});
    
    str = sprintf('ParameterSet %d',k);

    % Add the iteration object to the test case
    addIteration(sltest_testCase,testItr,str);
end

Альтернативы

Если не требуется использовать сценарий для создания итераций, можно использовать итерации таблицы в тестовом случае. Дополнительные сведения об итерациях таблицы см. в разделе Тестовые итерации.

Представлен в R2016a