slcoverage.Selector class

Пакет: slcoverage

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

Описание

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

Свойства

расширить все

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

Признаки

SetAccess

защищенный

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

Признаки

SetAccess

защищенный

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

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

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

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

Методы

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

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

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

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

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

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

Сначала получите указатель на блок для блока And.

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