sltest.testmanager.createTestForComponent

Создайте тест и тестовую обвязку для компонента модели или компонента модели

Описание

пример

tc = sltest.testmanager.createTestForComponent('TestFile',tf,'Component',componentName) создает тест в заданном тестовом файле или тестовом наборе для заданного компонента модели. Тестовый файл должен уже существовать если CreateTestFile установлен в true.

пример

tc = sltest.testmanager.createTestForComponent(___,Name,Value) создает тест с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Задайте аргументы пары "имя-значение" после тестового файла и входных параметров компонента.

Примеры

свернуть все

В этом примере показано, как создать базовый тест для модели и сохранить входные параметры в файле Excel. Тестовая обвязка автоматически создана.

Обратите внимание на то, что этот код использует текущую папку в качестве ExcelFileLocation. Чтобы сохранить файл Excel к другому местоположению, может изменить ExcelFileLocation значение к различной перезаписываемой папке.

load_system('vdp');

tf = sltest.testmanager.TestFile('MyBaselineTestFile');

sltest.testmanager.createTestForComponent('TestFile',tf,...
   'Component','vdp',...
   'TestType','baseline',...
   'ExcelFileLocation','mybaseline_inputdata.xlsx');

Создайте эквивалентный (компенсационный) тест для Controller компонент sltestNormalSILEquivalenceExample модель.

load_system('sltestNormalSILEquivalenceExample'); 

tf = sltest.testmanager.TestFile('MyB2BTestFile');

sltest.testmanager.createTestForComponent("TestFile",tf,...
   "Component","sltestNormalSILEquivalenceExample/Controller",...
   "TestType","equivalence",...
   "Simulation1Mode","Normal",...
   "Simulation2Mode","Software-in-the-Loop (SIL)");
### Starting build procedure for: Controller
### Successful completion of build procedure for: Controller
### Creating SIL block ...
Building with 'gcc'.
MEX completed successfully.

Build Summary

Top model targets built:

Model       Action                       Rebuild Reason                                    
===========================================================================================
Controller  Code generated and compiled  Code generation information file does not exist.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 34.901s

В этом примере показано, как создать тест и тестовую обвязку для компонента модели. Это также показывает, как использовать HarnessOptions свойство. Тест использует только обвязку компонента и настраивается без входных параметров или базовой стратегии. Использовать эту стратегию создания теста, UseComponentInputs свойство createTestForComponent функция должна быть ложной, и SLDVTestGeneration свойством должен быть off. HarnessSource свойство проигнорировано и FunctionInterfaceName выведен из аргумента, переданного createTestForComponent.

Если тест настраивается, можно задать стратегию верификации компонента, такого как импортирование данных о тестовом воздействии для компонента в созданный тест.

Этот код создает тестовый файл и обвязку для Contoller компонент f14 модель. HarnessOptions указывают, что именем обвязки является myHarness, Редактор Сигнала используется в качестве источника обвязки и синхронизаций обвязки с моделью, когда обвязка открыта.

load_system('f14');

tcObj = sltest.testmanager.createTestForComponent(...
    'CreateTestFile',true,'TestFile','MyHarnessTest', ...
    'Component','f14/Controller','UseComponentInputs', ...
    false,'HarnessOptions',{'Name','myHarness', ...
    'Source','Signal Editor','SynchronizationMode', ...
    'SyncOnOpen'});

Входные параметры

свернуть все

Тестовый файл или тестовый набор, в который можно добавить тест в виде sltest.testmanager.TestFile или sltest.testmanager.TestSuite объект, строка или вектор символов. Если CreateTestFile является ложным, объект тестового файла должен существовать. Если CreateTestFile true, TestFile путь нового тестового файла в виде строки или вектора символов.

C

Пример: 'TestFile','myTestFile'

Модель или компонент, чтобы протестировать в виде строки или вектора символов полного пути или как Simulink.BlockPath объект. Можно задать любую модель или блок, который поддерживается для генерации тестовой обвязки. Смотрите Тестовую обвязку и Отношение Модели для списка компонентов, для которых можно создать тестовые обвязки.

Пример: 'Component','sf_car/shift_logic'

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'CreateTestFile',true

Создать ли новый тестовый файл в виде заданного как разделенная запятой пара, состоящая из 'CreateTestFile' и true или false.

Пример: 'CreateTestFile',true

Имя модели наверху иерархии, если компонент, чтобы протестировать находится в модели, на которую ссылаются, в виде разделенной запятой пары, состоящей из 'TopModel' и как строка или вектор символов. Если componentName топ-модель, не используйте TopModel свойство.

Пример: 'TopModel','Plant'

Тип теста в виде разделенной запятой пары, состоящей из 'TestType' и 'baseline', 'equivalence', или 'simulation'.

Пример: 'TestType','equivalence'

Создать ли тестовую обвязку для модели в виде разделенной запятой пары, состоящей из 'CreateHarness' и true или false. Когда Component не модель верхнего уровня или когда вы генерируете тесты с помощью Simulink® Design Verifier™, эта опция установлена в true автоматически и тестовая обвязка всегда создается. Если протестированная модель является моделью экспорта функций, Тестовый блок планировщика Последовательности автоматически создан в тестовой обвязке.

Чтобы сгенерировать только тестовую обвязку, установите SLDVTestGeneration на off и UseComponentInputs к false. Опционально укажите, что любой желал HarnessOptions.

Пример: 'CreateHarness',false

Опция, чтобы симулировать модель, чтобы получить входные параметры компонента для созданной тестовой обвязки в виде true или false. Если этим свойством является true, тестовая обвязка использует входные параметры от симуляции модели. Если этим свойством является false, тестовая обвязка не использует входные параметры компонента от симуляции.

Пример: 'UseComponentInputs',false

Функциональный интерфейс в виде разделенной запятой пары, состоящей из 'FunctionInterface' и строка или вектор символов. Задайте FunctionInterface создать тесты для допускающей повторное использование подсистемы библиотеки. Подсистема должна быть в верхнем уровне библиотеки подсистемы и должна иметь функциональный интерфейс.

Пример: 'FunctionInterface','single'

Режим Simulation для симуляции 1 из эквивалентного теста в виде разделенной запятой пары, состоящей из 'Simulation1Mode' и любой 'Normal' или 'Accelerator'. Если вы не задаете режим симуляции, режим системы под тестом используется. Необходимая тестовая обвязка автоматически создана для режима симуляции.

Пример: 'Simulation1Mode','Normal'

Режим Simulation для симуляции 2 из эквивалентного теста в виде разделенной запятой пары, состоящей из 'Simulation2Mode' и 'Normal', 'Accelerator', 'Rapid Accelerator', 'Software-in-the-Loop (SIL)', или 'Processor-in-the-Loop (PIL)'.. Если вы не задаете режим симуляции, режим системы под тестом используется. Если TestType 'equivalence' и Simulation2Mode 'Software-in-the-Loop (SIL)', дополнительная тестовая обвязка создается в дополнение к тесту и тестовой обвязке, если компонент под тестом не является атомарной подсистемой. Когда эквивалентность, тестирующая атомарную подсистему, использующую нормальный и режимы SIL или PIL, одна тестовая обвязка создается и используется для обоих режимов.

Пример: 'Simulation2Mode','Software-in-the-Loop (SIL)'

Путь к файлу для хранения регистрируемых входных параметров в MAT-файле в виде разделенной запятой пары, состоящей из 'InputsLocation' и вектор символов или массив строк. Включайте расширение файла .mat. Если вы не задаете InputsLocation, местоположение по умолчанию используется.

Пример: 'InputsLocation','C:\MATLAB\inputs_data.mat'

Путь к файлу для хранения базовой линии регистрировал выходные данные в MAT-файле в виде разделенной запятой пары, состоящей из 'BaselineLocation' и вектор символов или строка. Включайте расширение файла .mat. Если вы не задаете BaselineLocation, местоположение по умолчанию используется.

Пример: 'BaselineLocation','C:\MATLAB\baseline_data.mat'

Использовать ли Excel® формат для входных параметров и, для базовых тестов только, выходных параметров в виде разделенной запятой пары, состоящей из 'CreateExcelFile' и любой true или false. Если вы используете 'ExcelFileLocation' аргумент, чтобы задать имя файла и местоположение, вы не должны также использовать 'CreateExcelFile'.

Пример: 'CreateExcelFile',true

Путь к файлу для файла Excel в виде разделенной запятой пары, состоящей из 'ExcelFileLocation' и вектор символов или массив строк. Включайте дополнительный .xlsx. Если вы задаете местоположение, вы не должны также использовать 'CreateExcelFile' опция. Если вы не задаете ExcelFileLocation, текущая рабочая папка используется.

Примечание

Если SLDVTestGeneration true и HarnessSource 'Signal Editor', вы не можете сохранить данные к файлу Excel.

Пример: 'ExcelFileLocation','C:\MATLAB\baseline_data.xlsx'

Имя Excel покрывает, в котором можно сохранить данные в виде разделенной запятой пары, состоящей из 'Sheet' и вектор символов или строка. Если вы не задаете Sheet, текущая рабочая папка используется.

Пример: 'Sheet','MySubsysTest'

Сгенерировать ли тесты с помощью Simulink Design Verifier в виде:

  • 'off' — Не используйте Simulink Design Verifier, чтобы сгенерировать тесты.

  • 'on' — Используйте Simulink Design Verifier, чтобы сгенерировать тесты и использовать опции Simulink Design Verifier от настройки модели.

    'EnhancedMCDC' — Используйте Simulink Design Verifier, чтобы сгенерировать тесты с целями покрытия модели, как улучшено MCDC. EnhancedMCDC опция допустима только если TestType 'equivalence' и Simulation2Mode 'Software-in-the-Loop (SIL)' или 'Processor-in-the-Loop (PIL)'.

Примечание

Чтобы сгенерировать тесты из Simulink Design Verifier, система под тестом должна быть атомарной подсистемой.

Пример: 'SLDVTestGeneration','on'

Симулировать ли топ-модель во время генерации тестов Simulink Design Verifier в виде логического значения. Когда возвращенные тесты имеют покрытие модели ниже, чем ожидалось, после того, как вы будете анализировать возможные причины и реконфигурируете симуляцию по умолчанию, установите это свойство на true. Затем повторно выполните генерацию тестов Simulink Design Verifier. Если результаты покрытия еще ниже, чем ожидалось, можно выполнить итерации анализа, реконфигурирования симуляции и генерации тестов.

Пример: 'SimulateModelForSLDVTestGeneration','true'

Введите исходный блок для тестовой обвязки в виде разделенной запятой пары, состоящей из 'HarnessSource' и любой 'Inport' или 'Signal Editor'.

Пример: 'HarnessSource','Signal Editor'

Опции создания тестовой обвязки в виде массива ячеек разделенных от запятой пар "имя-значение". Смотрите sltest.harness.create для допустимых опций. Не включайте harnessOwner обработайте в качестве первого аргумента в массиве ячеек. Первый аргумент установлен автоматически в Component значение.

Используйте HarnessOptions только, когда вы создаете обвязку для своего компонента и настраиваете тест для обвязки без любого добавленного входа, то есть, UseComponentInputs false. HarnessOptions значения только, когда вы не используете симуляцию топ-модели или рабочий процесс Simulink Design Verifier.

Пример: 'HarnessOptions',{'SynchronizationMode','SyncOnOpen','SeparateAssessment',true}

Выходные аргументы

свернуть все

Тест, возвращенный как sltest.testmanager.TestCase объект.

Введенный в R2020b