slcoverage.Selector class

Пакет: slcoverage

Получите селекторы всех типов

Описание

Используйте slcoverage.Selector класс с allSelectors метод, чтобы возвратить все типы селекторов для блока.

Свойства

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

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

Атрибуты

SetAccess

защищенный

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

Атрибуты

SetAccess

защищенный

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

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

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

Селекторный тип, возвращенный как селекторный тип соответствующего селектора.

Методы

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

Примеры

свернуть все

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

Загрузите модель и установите настройки покрытия

modelName = 'slvnvdemo_covfilt';
load_system(modelName);
set_param(modelName,'CovEnable','on','CovMetricStructuralLevel','MCDC');

Во-первых, получите указатель блока для И блок.

id = getSimulinkBlockHandle([modelName,'/Saturation']);

Получите селекторы с помощью указателя блока.

sel = slcoverage.Selector.allSelectors(id)
sel = 

  1x10 heterogeneous Selector (BlockSelector, MetricSelector) array with properties:

    Description
    Type
    Id
    ConstructorCode

Блок имеет десять селекторов. Можно индексировать в каждого, чтобы видеть их содержимое. В этом примере вы хотите выровнять по ширине шестой селектор.

sel(6)
ans = 

  MetricSelector with properties:

     ObjectiveIndex: 2
       OutcomeIndex: 2
        Description: 'T outcome of input > upper limit in Saturate block "Saturation"'
               Type: DecisionOutcome
                 Id: 'slvnvdemo_covfilt:5'
    ConstructorCode: 'slcoverage.MetricSelector(slcoverage.MetricSelectorType.DecisionOutcome, 'slvnvdemo_covfilt:5', 2, 2)'

Создайте выровнять по ширине правило, затем создайте объект фильтра и добавьте правило в него.

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

Сохраните фильтр и сгенерируйте отчет покрытия.

filt.save('metrfilter');
csim = cvsim(modelName);
csim.filter = 'metrfilter';
cvhtml('cov',csim,'-sRT=0');
Введенный в R2017b