Для выполнения тестов, разработанных в Simulink ® Test™, можно использовать структуру модульных тестов MATLAB ®. Использование структуры тестирования блока MATLAB:
Позволяет выполнять тесты модели вместе со сценариями, функциями и классами модульного тестирования MATLAB.
Включает тестирование модели и кода с использованием одной и той же инфраструктуры.
Интеграция с системами непрерывной интеграции (CI), такими как Jenkins™.
Для выполнения тестов с помощью команды MATLAB Unit Test:
Создать TestSuite из файла Simulink Test.
Создать TestRunner.
Создание объектов подключаемого модуля для настройки TestRunner. Например:
matlab.unittest.plugins.TAPPlugin создает поток результатов в соответствии с протоколом Test Anything для использования с определенными системами CI.
sltest.plugins.ModelCoveragePlugin задает коллекцию покрытия модели и делает результаты покрытия доступными из командной строки.
Добавьте подключаемые модули в TestRunner.
Запустите тест с помощью run или запускать тесты параллельно с использованием runInParallel способ.
При выполнении тестов с использованием функции MATLAB Unit Test необходимо учитывать следующее:
При отключении теста в диспетчере тестов он фильтруется с помощью команды MATLAB Unit Test, и результат отражает ошибочное допущение.
Тест блока MATLAB имеет свойства, аналогичные функциям теста Simulink. Например,
Если тестовый случай содержит итерации, тест блока MATLAB содержит параметризации.
Если тестовый файл или набор тестов содержит обратные вызовы, тест блока MATLAB содержит одно или несколько устройств обратных вызовов.
детали параметризации соответствуют свойствам итерации.
Тест Simulink | Испытание блока MATLAB |
|---|---|
Тип итерации: Сценарий | свойство параметризации: |
Тип итерации: Таблица | свойство параметризации: |
Имя итерации | имя параметризации |
Объект итерации тестового случая | значение параметризации |
Приборы зависят от обратных вызовов, содержащихся в тестовом файле. Приборы не включают обратные вызовы тестового случая, которые выполняются с самим тестовым случаем.
Обратные вызовы в тесте Simulink | Приборы в испытании блока MATLAB |
|---|---|
Обратные вызовы тестового файла |
|
Обратные вызовы набора тестов |
|
Обратные вызовы файлов и пакетов | Разнородный |
Обратные вызовы отсутствуют | Нет приспособления |
В этом примере показано, как создать и запустить базовый тест MATLAB ® Unit Test для тестового файла, созданного в Simulink ® Test™. Создайте набор тестов, запустите тест и просмотрите диагностический отчет.
Перед выполнением этого примера временно отключите предупреждения, возникающие в результате ошибок проверки.
warning off Stateflow:Runtime:TestVerificationFailed; warning off Stateflow:cdr:VerifyDangerousComparison;
1. Создайте тестовый файл в диспетчере тестирования или начните с существующего тестового файла. Для этого примера: AutopilotTestFile проверяет компонент системы автопилота на соответствие нескольким требованиям, используя verify заявления.
2. Создать TestSuite из тестового файла.
apsuite = testsuite('AutopilotTestFile.mldatx');3. Запустите тест, создав TestResult объект. Командное окно возвращает предупреждения от verify сбои операторов.
apresults = run(apsuite);
Running AutopilotTestFile > Basic Design Test Cases
================================================================================
Verification failed in AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test.
---------------------
Framework Diagnostic:
---------------------
Failed criteria: Verification
--> Simulink Test Manager Results:
Results: 2021-Apr-23 10:58:12/AutopilotTestFile/Basic Design Test Cases/Requirement 1.3 Test
================================================================================
.
Done AutopilotTestFile > Basic Design Test Cases
__________
Failure Summary:
Name Failed Incomplete Reason(s)
===============================================================================================================
AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test X Failed by verification.
4. Для просмотра подробной информации о тестировании выведите на экран Report имущества DiagnosticRecord объект. Запись показывает, что проверка не прошла во время теста.
apresults.Details.DiagnosticRecord.Report
ans =
'Verification failed in AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test.
---------------------
Framework Diagnostic:
---------------------
Failed criteria: Verification
--> Simulink Test Manager Results:
Results: 2021-Apr-23 10:58:12/AutopilotTestFile/Basic Design Test Cases/Requirement 1.3 Test'
Включить предупреждения.
warning on Stateflow:Runtime:TestVerificationFailed; warning on Stateflow:cdr:VerifyDangerousComparison;
matlab.unittest.plugins Package | Test | TestResult | TestRunner | TestSuite