主要内容

slcoverage。BlockSelector类

包:slcoverage

为覆盖过滤器选择块

描述

指定过滤规则的块选择条件。

slcoverage。BlockSelector类是一个处理类。

创建

描述

例子

选取= slcoverage。BlockSelector(类型元素指定为之创建筛选规则的模型元素的类型,并返回slcoverage。BlockSelector对象。

输入参数

全部展开

要选择的模型元素类型,指定为以下值之一:

  • slcoverage.BlockSelectorType.BlockInstance-由MATLAB函数块调用的块实例或外部MATLAB函数。

  • slcoverage.BlockSelectorType.BlockType—指定块类型的所有块。

  • slcoverage.BlockSelectorType.Chart—状态流®图表。

  • slcoverage.BlockSelectorType.MaskType—使用指定掩码类型的块。

  • slcoverage.BlockSelectorType.State—statflow状态。

  • slcoverage.BlockSelectorType.StateAllContent-状态流状态及其内容。

  • slcoverage.BlockSelectorType.StateflowFunction—Stateflow函数。

  • slcoverage.BlockSelectorType.Subsystem—子系统块。

  • slcoverage.BlockSelectorType.SubsystemAllContent—子系统及其内容。

  • slcoverage.BlockSelectorType.TemporalEvent-状态流时间事件。

  • slcoverage.BlockSelectorType.Transition—状态流转换。

例子:slcoverage.BlockSelectorType.Transition

要选择的模型元素,指定为元素的属性名、其句柄或其Simulink标识符。金宝app为选择实例的选择器类型使用句柄或ID。使用属性名,例如块的值“BlockType”属性,以选择多个模型元素。

例子:“slcoverage_lct_bus: 18”“RelationalOperator”

属性:

SetAccess

受保护的

数据类型:字符|字符串|处理|整数

属性

全部展开

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

属性:

GetAccess
公共
SetAccess
受保护的

选择器的描述,作为字符向量返回。金宝app仿真软件覆盖™基于选择器创建描述。

属性:

GetAccess
公共
SetAccess
受保护的

模型元素标识符,指定为元素的属性名、元素的句柄或元素的Simulink标识符。金宝app为选择实例的选择器类型使用句柄或ID。属性的值等属性名“BlockType”属性,以选择多个模型元素。

属性

SetAccess
受保护的

数据类型:字符|字符串|处理|整数

选择器类型,作为其中之一返回slcoverage。BlockSelectorType价值观:

  • slcoverage.BlockSelectorType.BlockInstance-由MATLAB函数块调用的块实例或外部MATLAB函数。

  • slcoverage.BlockSelectorType.BlockType—指定块类型的所有块。

  • slcoverage.BlockSelectorType.Chart—状态流程图。

  • slcoverage.BlockSelectorType.MaskType—使用指定掩码类型的块。

  • slcoverage.BlockSelectorType.State—statflow状态。

  • slcoverage.BlockSelectorType.StateAllContent-状态流状态及其内容。

  • slcoverage.BlockSelectorType.StateflowFunction—Stateflow函数。

  • slcoverage.BlockSelectorType.Subsystem—子系统块。

  • slcoverage.BlockSelectorType.SubsystemAllContent—子系统及其内容。

  • slcoverage.BlockSelectorType.TemporalEvent-状态流时间事件。

  • slcoverage.BlockSelectorType.Transition—状态流转换。

属性:

GetAccess
公共
SetAccess
受保护的

方法

全部展开

例子

全部折叠

选择多个要添加规则的块和要添加规则的块的实例。生成的过滤器有两个规则。您可以使用筛选器模拟代码覆盖率的模型,以查看效果。

打开模型。指定覆盖设置并打开覆盖记录。

modelName =“slcoverage_lct_bus”;open_system (modelName);set_param (modelName“CovMetricStructuralLevel”“MCDC”“RecordCoverage”“上”);

属性的块类型相同的块上GE输入块添加筛选规则。

类型= get_param('slcoverage_lct_bus/slCounter/upper GE input'“BlockType”);bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockType,type);

创建筛选器对象,基于选择器创建规则,并将规则添加到筛选器。

filt = slcoverage.Filter;Rule = slcoverage。FilterRule(提单,测试了其他地方的, slcoverage.FilterMode.Exclude);filt.addRule(规则);

选择一个块实例并将该块实例的规则添加到筛选器中。的默认筛选模式证明

id = 金宝appSimulink.ID.getSID(“slcoverage_lct_bus / slCounter /和“);bl = slcover . blockselector (slcover . blockselectortype . blockinstance,id);Rule = slcoverage。FilterRule(提单,“边缘案例”);filt.addRule(规则);

将过滤器保存为blfilter.模拟代码覆盖率的模型。将筛选器文件作为值添加到过滤器生成的cvdata对象。然后生成覆盖率报告。

filt.save (“blfilter”);csim = cvsim(modelName);csim。过滤器=“blfilter”;cvhtml (“浸”, csim);

检查HTML报告以查看有关您为其添加规则的块的信息。

方法获取MATLAB®函数的选择器slcoverage。BlockSelector类。

示例模型slvnvdemo_eml_model_coverage_demo包含一系列MATLAB函数块。其中一个MATLAB函数块调用外部函数slcoverageExternalFile.m

首先加载模型并生成覆盖结果。

modelName =“slvnvdemo_eml_model_coverage_demo”;load_system(modelName) covData = cvsim(modelName);

由于模型使用外部函数,覆盖结果将在cv.cvdatagroup对象。使用cv.cvdatagroup.get类的方法来提取cvdata对象的结果slcoverageExternalFile函数。

函数cov = get(covData,“slcoverageExternalFile”);

要从覆盖率报告中排除整个功能,请使用排除过滤器。首先,使用slcoverage。BlockSelector类为外部MATLAB函数创建选择器slcoverageExternalFile.m.正确的BlockSelectorType用于此的枚举BlockInstance

sel = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance)“slcoverageExternalFile.m”);

创建一个空的slcoverage。过滤器对象。

filt = slcoverage.Filter;

属性创建排除筛选规则slcoverage。FilterRule类。的选择器、筛选函数的基本原理和筛选器类型slcoverage.FilterMode.Exclude

Rule = slcoverage。FilterRule(选取,“排除函数演示”, slcoverage.FilterMode.Exclude);

将筛选规则添加到筛选对象,命名筛选器,并保存到文件中。

addRule (filt、规则);setFilterName (filt“mfileFilter”);setFilterDescription (filt外部m文件的演示排除过滤器);保存(filt,“externalFileFilter”

将筛选器文件应用到cvdata对象,该对象包含函数的覆盖结果slcoverageExternalFile.m

functionCov。过滤器=“externalFileFilter”

创建覆盖率报告并观察功能slcoverageExternalFile现在在摘要中没有报告覆盖率数据,如果单击函数名打开函数报告,将看到slcoverageExternalFile列在从覆盖率分析中过滤的对象

cvhtml (“covReport”covData)

版本历史

在R2017b中引入