Можно использовать MATLAB® Модульный тест для запуска тестов, созданных в Simulink® Test™. Использование среды MATLAB Unit Test:
Позволяет вам выполнять тесты модели вместе со скриптами, функциями и классами Модульный Тест.
Включает проверки модели и кода с помощью одной и той же среды.
Включает интегрирование с системами непрерывного интегрирования (CI), такими как Jenkins™.
Чтобы запустить тесты с модульным тестом MATLAB:
Создайте TestSuite
из файла Simulink Test.
Создайте TestRunner
.
Создайте объекты плагина, чтобы настроить TestRunner
. Для примера:
The matlab.unittest.plugins.TAPPlugin
формирует поток результатов в соответствии с протоколом Test Anything Protocol для использования с определенными системами CI.
The sltest.plugins.ModelCoveragePlugin
задает набор покрытия модели и делает результаты покрытия доступными из командной строки.
Добавьте плагины к TestRunner
.
Запустите тест с помощью run
метод, или запустите тесты параллельно с использованием runInParallel
способ.
При запуске тестов с использованием модульного теста MATLAB примите к сведению следующее:
Если вы отключаете тест в Test Manager, тест фильтруется с помощью MATLAB Unit Test, и результат отражает неудачное предположение.
Модульный тест MATLAB имеет аналогичные свойства функциональности в Simulink Test. например,
Если контрольный пример содержит итерации, модульный тест MATLAB содержит параметризации.
Если тестовый файл или тестовый набор содержит коллбэки, модульный тест MATLAB содержит одни или несколько фиксаторов коллбэков.
детали параметризации соответствуют свойствам итерации.
Simulink Test | Модульный тест MATLAB |
---|---|
Тип итерации: Скрипт | свойство параметризации: |
Тип итерации: Таблица | свойство параметризации: |
Имя итерации | Имя параметризации |
Тест | Значение параметризации |
Фиксаторы зависят от коллбэков, содержащихся в тестовом файле. Фиксаторы не включают коллбэки тестов, которые выполняются с самим тестом.
Коллбэки в Simulink Test | Фиксаторы в модульном тесте 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;
matlab.unittest.plugins Package
| Test
| TestResult
| TestRunner
| TestSuite