В этом примере показано, как создать тест Simulink на основе MATLAB, создать опорную структуру, а также загрузить, выполнить и просмотреть результаты теста в диспетчере тестов. При загрузке теста Simulink на основе MATLAB .m файл в диспетчере тестов, тестовый пример отображается и ведет себя так же, как и любой тестовый случай, созданный непосредственно в диспетчере тестов.
В этом примере используется внутренний тестовый жгут sltestMATLABBasedTestExample_harnrss проверяет sltestMATLABBasedTestExample модель по сформированной базовой линии.
Файл определения класса, Baseline.m, уже создан и приводится в этом примере.
Файл контрольного случая, Baseline.m, является производным от sltest.TestCase, которая, в свою очередь, получена из matlab.unittest.TestCase. Все matlab.unittest.TestCase методы также доступны как часть sltest.TestCase.
Файл определения класса, BaselineTest.m, содержит:
classdef BaselineTest < sltest.TestCase
methods (Test)
function testOne(testCase)
testCase.loadSystem('sltestMATLABBasedTestExample');
evalin('base','gain2_var = 2.01;');
simOut = testCase.simulate('sltestMATLABBasedTestExample',...
'WithHarness','sltestMATLAbBasedTestExample_harness');
testCase.verifySignalsMatch(simOut,'baseline1.mat','AbsTol',0.015);
end
endend
Файл включает в себя:
Наследование от sltest.TestCase.
Тестовая функция с именем testOne, который находится в methods блок, который имеет Test атрибут.
testOne функция:
Использует testCase.loadSystem для загрузки sltestMATLABBasedTestExample модель.
Изменение значения gain2_var в модели до 2.01.
Использует testCase.simulate для моделирования модели с помощью электрического жгута.
Использует testCase.verifySignalsMatch метод сравнения выходных данных simulate, simOut, в MAT-файл базовых данных с именем baselineOne.mat. Он также устанавливает абсолютный допуск. Если удалить настройку допуска из файла перед запуском теста, тест не будет выполнен, так как значение gain2_var был изменен по сравнению с исходным значением в модели.
Файл базовых данных, baselineOne.mat, уже создан и приводится в этом примере. С помощью этого процесса был создан файл базовых данных:
1. Использовать runtests('BaselineTest/testOne','GenerateBaselines',true').
2. После выполнения базового теста в отчете по проверке данных моделирования отображаются выходные данные сигналов. Просмотрите фактические результаты в отчете и утвердите базовые данные. Данные сохраняются в MAT-файле, который в данном примере называется baselineOne.mat.
1. Откройте диспетчер тестов.
sltestmgr
2. В диспетчере тестов щелкните Открыть (Open) и выберите Открыть тест Simulink на основе MATLAB (.m).
3. В диалоговом окне «Открыть файл» выберите BaselineTest.m.
Диспетчер тестов заполняет обозреватель тестов с помощью test One из BaselineTest.m файл.
1. Для выполнения теста нажмите Run.
2. После завершения теста разверните все строки на панели «Результаты и артефакты». Обратите внимание, что testOne проходит.
3. Чтобы просмотреть результаты сравнения данных, выберите Out2:1 в разделе testOne > Simulation Output Comparison Results (Результаты сравнения выходных данных моделирования). Сигналы моделирования и базовой линии совпадают в пределах заданного допуска.