slcoverage.MetricSelector class

Пакет: slcoverage

Выберите метрический критерий фильтра покрытия

Описание

Задайте метрические критерии выбора для правила фильтра.

Конструкция

sel = slcoverage.MetricSelector(type,element,objIndex,outIndex)указывает элемент модели и метрики блока, чтобы создать правило для. Задайте, является ли тип селектора результатом решения или условием. Затем выберите объект и комбинацию индекса результата, чтобы задать метрику, для которой вы хотите записать правило фильтра.

Можно создать только выровнять по ширине правило для метрического селектора. Вы не можете создать исключить правило.

Для получения дополнительной информации об условии и таблицах Decision Coverage, произведенных в отчете, см. Отчет Покрытия модели Верхнего уровня.

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

развернуть все

Метрический селекторный тип в виде:

  • slcoverage.MetricSelectorType.ConditionOutcome выбирает метрики результата, связанные с входными параметрами блока.

  • slcoverage.MetricSelectorType.DecisionOutcome выбирает метрики результата, связанные, чтобы блокировать выходные параметры.

  • slcoverage.MetricSelectorType.RelationalBoundaryOutcome выбирает метрики результата, связанные с реляционными граничными результатами.

  • slcoverage.MetricSelectorType.SaturationOverflowOutcome выбирает метрики результата, связанные с насыщением на результатах целочисленного переполнения.

Элемент модели, чтобы выбрать в виде указателя или элемента модели идентификатор Simulink®.

Пример: 'sldemo_lct_bus:18'

Матричное положение цели выбрать в виде целого числа, которое соответствует строке таблицы покрытия.

Пример 1

Матричное положение результата, чтобы выбрать в виде целого числа, которое соответствует столбцу таблицы покрытия.

Пример 2

Свойства

развернуть все

Это свойство доступно только для чтения.

Код, используемый, чтобы создать этот селекторный объект, возвратился как вектор символов.

Это свойство доступно только для чтения.

Описание селектора, возвращенного как вектор символов. Simulink Coverage™ создает описание на основе селектора.

Это свойство доступно только для чтения.

Идентификатор элемента модели, возвращенного как вектор символов ID Simulink или указателя.

Это свойство доступно только для чтения.

Матричное положение цели для этого селектора, возвращенного как целое число.

Это свойство доступно только для чтения.

Матричное положение результата для этого селектора, возвращенного как целое число.

Это свойство доступно только для чтения.

Селекторный тип, возвращенный как ConditionOutcome, DecisionOutcome, RelationalBoundaryOutcome, или SaturationOverflowOutcome.

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

развернуть все

Селекторный объект, возвращенный как slcoverage.MetricSelector объект или массив slcoverage.MetricSelector объекты.

Методы

allSelectorsСелекторы для элемента модели или кода

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Выберите метрику, создайте правило для него и добавьте правило в фильтр. Затем можно симулировать модель для покрытия кода с помощью фильтра, чтобы видеть эффект.

В этом примере вы создаете правило выровнять по ширине непротестированное условие для блока And.

Откройте модель. Задайте настройки покрытия и включите запись покрытия.

modelName = 'sldemo_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricSettings','dcme','RecordCoverage','on');

Получите идентификатор для блока And. Создайте метрический селектор для блока. В данном примере отфильтруйте второе условие (входной порт 2) Ложный результат, индексом которого, затем, является 2,2. Используйте ConditionOutcome селекторный тип и индекс 2,2.

id = Simulink.ID.getSID('sldemo_lct_bus/slCounter/And');
metr = slcoverage.MetricSelector(slcoverage.MetricSelectorType.ConditionOutcome,id,2,2);

Создайте объект фильтра и создайте правило с помощью режима фильтра по умолчанию, выравнивают по ширине. Добавьте правило в фильтр.

filt = slcoverage.Filter;
rule = slcoverage.FilterRule(metr,'Expected result');
filt.addRule(rule);

Сохраните фильтр как metrfilter. Симулируйте модель для покрытия кода. Добавьте файл фильтра как значение к filter свойство получившегося cvdata объект. Затем сгенерируйте отчет покрытия.

filt.save('metrfilter');
csim = cvsim(modelName);
csim.filter = 'metrfilter';
cvhtml('cov',csim);

Исследуйте отчет HTML и просмотрите таблицу условия для блока And. Отчет теперь показывает 100%-е покрытие для условия и что непротестированное условие было выровнено по ширине.

Введенный в R2017b