exponenta event banner

Тестовые модели с использованием модульного теста MATLAB

Для выполнения тестов, разработанных в Simulink ® Test™, можно использовать структуру модульных тестов MATLAB ®. Использование структуры тестирования блока MATLAB:

  • Позволяет выполнять тесты модели вместе со сценариями, функциями и классами модульного тестирования MATLAB.

  • Включает тестирование модели и кода с использованием одной и той же инфраструктуры.

  • Интеграция с системами непрерывной интеграции (CI), такими как Jenkins™.

Общий рабочий процесс

Для выполнения тестов с помощью команды MATLAB Unit Test:

  1. Создать TestSuite из файла Simulink Test.

  2. Создать TestRunner.

  3. Создание объектов подключаемого модуля для настройки TestRunner. Например:

    • matlab.unittest.plugins.TAPPlugin создает поток результатов в соответствии с протоколом Test Anything для использования с определенными системами CI.

    • sltest.plugins.ModelCoveragePlugin задает коллекцию покрытия модели и делает результаты покрытия доступными из командной строки.

  4. Добавьте подключаемые модули в TestRunner.

  5. Запустите тест с помощью run или запускать тесты параллельно с использованием runInParallel способ.

Соображения

При выполнении тестов с использованием функции MATLAB Unit Test необходимо учитывать следующее:

  • При отключении теста в диспетчере тестов он фильтруется с помощью команды MATLAB Unit Test, и результат отражает ошибочное допущение.

Сравнение номенклатуры испытаний

Тест блока MATLAB имеет свойства, аналогичные функциям теста Simulink. Например,

  • Если тестовый случай содержит итерации, тест блока MATLAB содержит параметризации.

  • Если тестовый файл или набор тестов содержит обратные вызовы, тест блока MATLAB содержит одно или несколько устройств обратных вызовов.

Итерации тестовых примеров и параметризации модульных тестов MATLAB

детали параметризации соответствуют свойствам итерации.

Тест Simulink

Испытание блока MATLAB

Тип итерации: Сценарий

свойство параметризации: ScriptedIteration

Тип итерации: Таблица

свойство параметризации: TableIteration

Имя итерации

имя параметризации

Объект итерации тестового случая

значение параметризации

Тестовые обратные вызовы и тестовые приборы блока MATLAB

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

Обратные вызовы в тесте Simulink

Приборы в испытании блока MATLAB

Обратные вызовы тестового файла

FileCallbacksFixture

Обратные вызовы набора тестов

SuiteCallbacksFixture

Обратные вызовы файлов и пакетов

Разнородный CallbacksFixture, содержащий FileCallbacksFixture и SuiteCallbacksFixture

Обратные вызовы отсутствуют

Нет приспособления

Базовый рабочий процесс с использованием модульного теста 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;

См. также

| | | |

Связанные темы