exponenta event banner

Использование тестов Simulink на основе MATLAB в диспетчере тестов

В этом примере показано, как создать тест 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
    end
end

Файл включает в себя:

  • Наследование от 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.

Откройте тест Simulink на основе MATLAB в диспетчере тестов

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 (Результаты сравнения выходных данных моделирования). Сигналы моделирования и базовой линии совпадают в пределах заданного допуска.