Main Content

本页采用了机器翻译。点击此处可查看英文原文。

slcoverage.Selector 类

命名空间: slcoverage

获取所有类型的选择器

描述

使用 slcoverage.Selector 类和 allSelectors 方法返回模型对象的所有类型的选择器。

slcoverage.Selector 类是 handle 类。

属性

全部展开

用于创建此选择器对象的代码,以字符向量形式返回。

属性:

GetAccess
public
SetAccess
受保护

选择器的描述,以字符向量形式返回。Simulink® Coverage™ 根据选择器创建描述。

属性:

GetAccess
public
SetAccess
受保护

模型元素的标识符,以 Simulink ID 的字符向量或句柄形式返回。

属性:

GetAccess
public
SetAccess
受保护

选择器类型,以相应选择器的选择器类型返回。

属性:

GetAccess
public
SetAccess
受保护

方法

全部展开

示例

全部折叠

此示例显示如何获取 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 中推出