主要内容

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

sldvmergeharness

R2026b

将测试用例和初始化合并到一个框架模型中

描述

status = sldvmergeharness(name, models) 从 models 中的每个测试框架模型收集测试数据。该函数将数据保存在 name 中,它是新模型的句柄。

如果 name 不存在,sldvmergeharness 会创建模型 name 作为 models 中信号数最多的模型的副本。然后 sldvmergeharness 会将 models 中列出的其他模型的数据合并到此模型中。如果您从之前的 sldvmergeharness 运行中创建 name,则 name 的后续 sldvmergeharness 运行将保留之前运行的结构体和初始化。如果 name 与现有的 Simulink® 模型匹配,则 sldvmergeharness 会将 models 中的测试数据合并到 name 中。

sldvmergeharness 假定 name 和 models 中的其余模型在顶层只有一个 Signal Editor 模块。如果 models 中的模型在顶层有多个 Signal Editor 模块,或者其顶层 Signal Editor 模块的信号数量与 name 中的顶层 Signal Editor 模块的信号数量不同,则 sldvmergeharness 不会将模型测试数据合并到 name 中。

要组合使用不同参数值集的测试用例,请将 sldvmergeharness 与 sldvgencov 结合使用。

注意

sldvmergeharness 替换 sldvharnessmerge。

示例

示例

全部折叠

分析 sldvdemo_cruise_control 模型的决策目标和全面覆盖率,然后合并两个测试框架。

打开 sldvdemo_cruise_control 示例模型。

openExample('sldv/CruiseControlTestGenerationExample',...
'supportingFile', 'sldvdemo_cruise_control');
model = 'sldvdemo_cruise_control';
open_system(model)

设置 sldvoptions 并收集决策覆盖率。

opts1 = sldvoptions;
opts1.Mode = 'TestGeneration';
opts1.ModelCoverageObjectives = 'Decision';
opts1.HarnessModelFileName = 'first_harness';
opts1.SaveHarnessModel = 'on';
sldvrun(model, opts1);

设置 sldvoptions 并收集完整覆盖率。

opts2 = sldvoptions;
opts2.Mode = 'TestGeneration';
opts2.ModelCoverageObjectives = 'ConditionDecision';
opts2.HarnessModelFileName = 'second_harness';
opts2.SaveHarnessModel = 'on';
sldvrun(model, opts2);

合并两个框架文件。

status = sldvmergeharness('new_harness_model', {'first_harness',...
		'second_harness'}); 

输入参数

全部折叠

新的框架模型的名称,存储在默认的 MATLAB® 文件夹中。

表示框架模型名称的元胞数组。

输出参量

全部折叠

如果合并成功,sldvmergeharness 将返回 1 的 status。否则,返回 0。

版本历史记录

在 R2010b 中推出

全部展开