Тест MATLAB®-based Simulink® задан в коде MATLAB (.m) файл, который вы создаете в MATLAB, и затем открываете, запускаете и просматриваете результаты в менеджере по Тесту. Тестовый файл является файлом определения класса, который наследовался sltest.TestCase. Наследование позволяет вам открыть тестовый файл в менеджере по Тесту. Когда вы открываете тестовый файл MATLAB в менеджере по Тесту, это появляется и ведет себя то же самое как тест, созданный в менеджере по Тесту, несмотря на то, что с некоторой ограниченной функциональностью (см. Ограничения MATLAB - базирующиеся Тесты). В дополнение к использованию MATLAB тестируют в менеджере по Тесту, можно использовать его в командной строке как любой другой файл модульного теста.
Поскольку эти тестовые файлы являются текстом (.m) файлы, можно отредактировать, выдержать сравнение с и объединить с другим .m тестовые файлы и ссылка от файла до требований. В отличие от этого тестовые файлы, созданные в менеджере по Тесту или при помощи API Simulink Test™, сохранены как бинарный .mldatx файлы.
sltest.TestCase класс и его методы работают в частности с тестами MATLAB. Можно использовать эти методы в тестовых файлах и в командной строке, за исключением sltest.TestCase.forInteractiveUse, который может только использоваться в командной строке. В дополнение к этим методам можно использовать matlab.unittest.TestCase методы с тестами MATLAB.
Класс, которому можно наследоваться | |
Модель Loads | |
Модель Simulate | |
Примите, что два набора данных эквивалентны | |
Утверждайте, что два набора данных эквивалентны | |
Критический утверждают, что два набора данных эквивалентны | |
Проверьте, что два набора данных эквивалентны | |
Создайте тест для использования в командной строке | |
| Создайте временную папку, которая удалена, когда тест выходит из осциллографа |
Они sltest.plugins классы добавляют функциональность для основанных на MATLAB тестов. В дополнение к этим методам можно использовать другой sltest.plugins классы с этими тестами. Плагины могут быть присоединены к matlab.unittest.TestRunner добавлять функциональность при выполнении sltest.TestCase тест.
Позвольте интегрировать тестовую симуляцию MATLAB и результаты испытаний с менеджером по Тесту | |
Позвольте писать вывод текста, чтобы Протестировать результаты менеджера панель Logged Signals менеджера по Тесту | |
Позвольте собрать покрытие модели |
Создать базовый тест MATLAB:
Создайте код MATLAB (.m) файл, который задает тесты. Можно запустить редактор MATLAB из командной строки, или от менеджера по Тесту при помощи New> MATLAB-Based Simulink Test (.m).
Смотрите Создание модульных тестов на основе классов в MATLAB. Единственная разница для тестов MATLAB - то, что класс должен наследоваться sltest.TestCase, вместо от matlab.unittest.TestCase.
Этот демонстрационный тестовый файл MATLAB включает один тест, который задан в testOne функция. Когда вы запускаете тест в менеджере по Тесту, контрольные нагрузки модель под названием sltestMATLABBasedTestExample. Это затем устанавливает значение gain2_var переменная, и симулирует модель. Наконец, тест сравнивает симуляцию модели выход с базовым файлом MAT данных.

Если базовый MAT-файл данных уже не существует или если необходимо обновиться, он, в командной строке MATLAB, использует:
runtests(<test>,'GenerateBaselines',true)Для файла примера, <test> ''myTest/testOne'.
Когда вы генерируете базовые линии, тест начинает запускаться. Это делает паузу, чтобы открыть Инспектора Данных моделирования отчет, и вам предлагают в командной строке MATLAB рассмотреть базовые данные. Когда вы утверждаете данные, они сохраняют базовые данные к новому MAT-файлу или обновляют существующий MAT-файл. Затем тест продолжает запускаться, но сбои, потому что новое или обновило базовые данные, не включены в текущий запуск. Повторно выполните тест с помощью runtests команда, чтобы использовать новую или обновленную базовую линию и привести к передающему результату. Можно также повторно выполнить тест при помощи желтого rerun гиперссылка в командной строке.
Опционально, если у вас есть лицензия Simulink Coverage™, можно включать набор покрытия в тест. Смотрите Собирают Покрытие Используя Основанные на MATLAB Тесты Simulink для примера и информации о наборе покрытия.
Опционально, если у вас есть лицензия Simulink Requirements™, можно добавить требования. Откройте менеджера по Тесту и обновите тестовый файл.
Нажмите Open> Open MATLAB-Based Simulink Test (.m) и выберите тестовый файл. Загрузки тестового файла и его тестовая иерархия отображаются в панели Test Browser. Если вы выбираете тестовый файл, Requirements и панели Test File Content появляются в менеджере по Тесту.
Добавьте требования путем расширения раздела Requirements путем нажатия на Add, чтобы открыть Исходящий Редактор Ссылок. Смотрите Ссылку на Требования для получения информации о добавляющих требованиях.
Обновить код MATLAB (.m) тестовый файл от менеджера по Тесту, щелкните по ссылке Open test in the MATLAB Editor.
После того, как вы редактируете .m файл и сохраняет ваши изменения, или после добавляющего покрытия или требований, возвращается к менеджеру по Тесту и нажимает кнопку синхронизации
рядом с тестовым файлом в панели Test Browser.
Запустите тест, просмотрите результаты и создайте отчет результатов испытаний.
Нажмите Run, чтобы запустить тест.
Чтобы просмотреть результаты, расширьте строки в панели Results and Artifacts.
Чтобы просмотреть результаты покрытия, в панели Results and Artifacts, выбирают элемент Results и расширяют раздел Aggregated Coverage. Смотрите Собирают Покрытие в Тестах для получения информации.
Опционально, создайте отчет результатов испытаний. Смотрите Генерируют Отчеты Результатов испытаний.
Примечание
У вас должен быть Simulink Requirements, чтобы включать ссылки требований.
Чтобы добавить ссылки к требованиям из файла, отредактированного в редакторе MATLAB, смотрите Трассируемость требований для Линий кода MATLAB (Simulink Requirements). Для тестовых файлов MATLAB вы добавляете ссылки с помощью того же процесса. Однако текст вы выбираете в коде MATLAB (.m) файл определяет тип ссылки и теста, к которому это добавляется. Если вы выбираете:
Линия определения класса (например, classdef myClass < sltest.TestCase) — Добавляет Verified By соединитесь для целого тестового файла
Текст в тестовой функции — Добавляет Verified By соединитесь для этой функции
Текст через несколько тестовых функций — Добавляет Verified By соединитесь для первой функции в выборе
Любой другой выбранный текст — Добавляет Related To соединитесь для выбора
После того, как вы добавите ссылки требований, можно просмотреть состояние верификации в Редакторе Требований путем нажатия на Display> Verification Status. Обновить состояние Verified By требование, щелкните правой кнопкой по требованию и выберите Run Tests. Смотрите Обобщают Состояние Верификации Требований (Simulink Requirements).
Ссылки, которые вы создаете в коде MATLAB (.m) файл появляется в разделе Requirements менеджера по Тесту. Соединение с требованиями от в менеджере по Тесту работает то же самое как описано в Ссылке на Требования.
Когда у вас есть открытый Редактор Требований, и вы нажимаете на входящую ссылку, которая является для теста MATLAB, если у вас есть лицензия Simulink Test, менеджер по Тесту открывается и переходит к связанному тесту. Если лицензия не доступна, редактор MATLAB открывается и переходит к строке кода, сопоставленной с тем требованием.
Для параметрированного теста Simulink Requirements не поддерживает соединение с параметрированными версиями индивидуума теста. В вашем .m файл, если вы создаете ссылку от параметрированного теста до требования, ссылка, сопоставлен со всеми версиями того теста. В менеджере по Тесту, если вы создаете ссылку из версии параметрированного теста к требованию, ссылка сопоставлена со всеми версиями того теста.
Основанные на MATLAB тесты Simulink не поддерживают:
Протестируйте типы кроме базовых тестов.
Тестовые обвязки.
Запущение тестов параллельно.
Запущение тестов в нескольких релизах.
Протестируйте теги и описания.
Коллбэки. (Однако, в то время как коллбэки не поддерживаются в менеджере по Тесту по основанным на MATLAB тестам, можно использовать TestClassSetup и TestMethodSetup, или фиксаторы в вашем .m файл, чтобы достигнуть схожей функциональности. См., что Написание кода для настройки и деинициализации Использует Классы.)
Логические и временные оценки.
matlab.unittest.TestCase | matlab.unittest.TestRunner | sltest.TestCase