主要内容

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

getMetrics

访问度量结果

说明

results = getMetrics(metricEngine,metricIDs) 返回指定 metric.Engine 对象在 metricIDs 中指定的度量的度量结果。要收集 metric.Engine 的度量结果,请使用 execute 函数。然后,使用 getMetrics 访问结果。

请注意,Fixed-Point Designer™ 文档中还有一个函数 getMetrics (Fixed-Point Designer)

示例

results = getMetrics(metricEngine,metricIDs,'ArtifactScope',scope) 返回您指定的 scope 中的工件的度量结果。例如,您可以将 scope 指定为工程中的一个单元。

示例

示例

全部折叠

收集工程中基于需求的测试工件的度量结果。

打开一个包含模型和测试工件的工程。对于此示例,在 MATLAB® 命令行窗口中,输入:

openExample("slcheck/ExploreTestingMetricDataInModelTestingDashboardExample");
openProject("cc_CruiseControl");

创建一个 metric.Engine 对象。您可以使用 metric.Engine 对象来收集当前工程的度量结果。

metric_engine = metric.Engine();

更新 metric_engine 的追溯信息,确保工件信息是最新的。

updateArtifacts(metric_engine)

通过对 metric.Engine 对象使用 execute 函数,收集 'RequirementsPerTestCase' 度量的结果。

execute(metric_engine,'RequirementsPerTestCase');

使用函数 getMetrics 访问结果。将结果对象数组赋值给 results 变量。

results = getMetrics(metric_engine,'RequirementsPerTestCase');

通过使用数组中 metric.Result 对象的属性来访问度量结果数据。

for n = 1:length(results)
    disp(['Test Case: ',results(n).Artifacts(1).Name])
    disp(['  Number of Requirements: ',num2str(results(n).Value)])
end

收集工程中一个单元的度量。指定单位,并仅收集与模型相关的工件的度量。

打开包含该模型的工程。对于此示例,在 MATLAB 命令行窗口中,输入:

openExample("slcheck/ExploreTestingMetricDataInModelTestingDashboardExample");
openProject("cc_CruiseControl");

为工程创建一个 metric.Engine 对象。

metric_engine = metric.Engine();

更新 metric_engine 的追溯信息,确保工件信息是最新的。

updateArtifacts(metric_engine)

创建一个变量来表示单元模型 db_DriverSwRequest 的路径。

modelPath = fullfile(pwd, 'models', 'db_DriverSwRequest.slx');

使用引擎对象上的 execute 函数收集度量 'RequirementsPerTestCase' 的结果,并将范围限制在 db_DriverSwRequest 模型。

execute(metric_engine,'RequirementsPerTestCase',...
'ArtifactScope',{modelPath, 'db_DriverSwRequest'});

使用函数 getMetrics 访问结果。

results = getMetrics(metric_engine,'RequirementsPerTestCase');
for n = 1:length(results)
    disp(['Test Case: ',results(n).Artifacts(1).Name])
    disp(['  Number of Requirements: ',num2str(results(n).Value)])
end
Test Case: Set button
  Number of Requirements: 0
Test Case: Resume button
  Number of Requirements: 1
Test Case: Decrement button short
  Number of Requirements: 2
Test Case: Enable button
  Number of Requirements: 1
Test Case: Increment button hold
  Number of Requirements: 1
Test Case: Increment button short
  Number of Requirements: 2
Test Case: Cancel button
  Number of Requirements: 1
Test Case: Decrement button hold
  Number of Requirements: 1

输入参数

全部折叠

要访问度量结果的度量引擎对象,指定为 metric.Engine 对象。

要收集的度量的度量标识符,可以指定为字符向量、字符向量的元胞数组、字符串或字符串数组。

您可以使用函数 getAvailableMetricIds 返回可用度量标识符的列表。

有关度量及其标识符的信息,请参阅:

示例: 'slcomp.OverallCyclomaticComplexity'

示例: {'slcomp.OverallMATLABeLOC', 'slcomp.OverallSignalLines'}

示例: 'TestCasesPerRequirementDistribution'

示例: {'slcomp.mt.TestStatus', 'slcomp.mt.CoverageBreakdown'}

要收集度量结果的工程文件的路径和标识符,以字符向量的元胞数组或字符串数组的形式指定。第一个条目是工程文件的完整路径,第二个条目是工程文件中对象的标识符。

对于单元模型,第一个条目是模型文件的完整路径,第二个条目是模块的名称。使用此参量时,度量引擎会收集与指定工程文件相关的工件的结果。

示例: {'C:\work\MyModel.slx', 'MyModel'}

输出参量

全部折叠

度量结果以 metric.Result 对象数组的形式返回。

替代功能

App

您还可以通过仪表盘用户界面查看度量结果。

版本历史记录

在 R2020b 中推出