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

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

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

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

  • Включает интегрирование с системами непрерывного интегрирования (CI), такими как Jenkins™.

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

Чтобы запустить тесты с модульным тестом MATLAB:

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

  2. Создайте TestRunner.

  3. Создайте объекты плагина, чтобы настроить TestRunner. Для примера:

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

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

  4. Добавьте плагины к TestRunner.

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

Факторы

При запуске тестов с использованием модульного теста MATLAB примите к сведению следующее:

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

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

Модульный тест MATLAB имеет аналогичные свойства функциональности в Simulink Test. например,

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

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

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

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

Simulink Test

Модульный тест MATLAB

Тип итерации: Скрипт

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

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

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

Имя итерации

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

Тест

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

Тестовые коллбэки и модульные тестовые фиксаторы MATLAB

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

Коллбэки в Simulink Test

Фиксаторы в модульном тесте MATLAB

Тестовый файл коллбэков

FileCallbacksFixture

Тестовый набор коллбэков

SuiteCallbacksFixture

Файловые и комплексные коллбэки

Неоднородные CallbacksFixture, содержащие FileCallbacksFixture и SuiteCallbacksFixture

Никаких коллбэков

Без фиксатора

Базовый рабочий процесс с использованием модульного теста MATLAB ®

В этом примере показано, как создать и запустить базовый модульный тест MATLAB ® для тестового файла, созданного в 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;

См. также

| | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте