createTestForComponent

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

Описание

пример

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

пример

tc = 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');

Создайте тест эквивалентности (back-to-back) для 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 30.128s

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

свернуть все

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

C

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

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

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами 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 автоматически и всегда создаётся тестовая обвязка. Если тестируемая модель является моделью экспорта функций, блок планировщика Test Sequence создается автоматически в тестовой обвязке.

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

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

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

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

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

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

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

Режим симуляции для симуляции 2 теста эквивалентности, заданный как разделенная разделенными запятой парами, состоящая из 'Simulation2Mode' и 'Normal', 'Accelerator', 'Rapid Accelerator', 'Software-in-the-Loop (SIL)', или 'Processor-in-the-Loop (PIL)'.. Если вы не задаете режим симуляции, используется режим тестируемой системы. Если TestType является 'equivalence' и Simulation2Mode является 'Software-in-the-Loop (SIL)'дополнительная тестовая обвязка создается в сложение с тестом и тестовую обвязку, если только тестируемый компонент не является атомарной подсистемой. При тестировании эквивалентности атомарной подсистемы с использованием режимов normal и 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. The EnhancedMCDC опция действительна только в том случае, если TestType является 'equivalence' и Simulation2Model является 'Software-in-the-Loop (SIL)' или 'Processor-in-the-Loop (PIL)'.

Примечание

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

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

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

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

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

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

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

свернуть все

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

Введенный в R2020b