exponenta event banner

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

Пример: '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)'в дополнение к тестовому случаю и тестовому жгуту создается дополнительный тестовый жгут, если только тестируемый компонент не является атомной подсистемой. При тестировании эквивалентности атомной подсистемы с использованием нормального режима и режима 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' и 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