exponenta event banner

slcoverage.Selector class

Пакет: slcoverage

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

Описание

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

Свойства

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

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

Признаки

SetAccess

защищенный

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

Признаки

SetAccess

защищенный

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

Идентификатор элемента модели, возвращаемый как символьный вектор идентификатора 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