测试脚本
您可以使用 Simulink® Test™ 编程接口执行以下操作:
创建测试脚本和函数。
从命令行运行测试。
设置并标准化测试环境。
您可以使用脚本和函数在多个系统上重复执行相同的测试策略,也可以执行回归测试。这些函数和类涵盖 Simulink Test 中的测试编写、执行和结果。如果要将现有 Simulink 测试与 MATLAB® 测试相结合,或者通过持续集成运行测试,请使用 MATLAB 单元测试框架。请参阅持续集成。如果要在第三方测试平台上运行测试,请参阅 ASAM XIL 测试。
Simulink Test 还提供图形用户界面来帮助您创建和运行测试。有关详细信息,请参阅测试编写、测试执行和结果、报告和测试文件管理。
函数
测试编写
测试文件
sltest.testmanager.TestFile | 创建或修改测试文件 |
sltest.testmanager.TestSuite | 创建或修改测试套件 |
sltest.testmanager.TestCase | 创建或修改测试用例 |
sltest.testmanager.createTestForComponent | 为模型或模型组件创建测试用例和测试框架 (自 R2020b 起) |
sltest.testmanager.createTestsFromModel | 从模型生成测试用例 |
sltest.testmanager.copyTests | 将测试用例或测试套件复制到另一个位置 |
sltest.testmanager.moveTests | 将测试用例或测试套件移至新位置 |
sltest.testmanager.load | 在 Simulink Test 管理器中加载测试文件 |
sltest.testmanager.getTestFiles | 在测试管理器中打开测试文件 |
sltest.testmanager.clear | 从测试管理器中清除测试文件 |
sltest.testmanager.RunPlatforms | 测试平台类型 (自 R2023b 起) |
输入
sltest.testmanager.TestInput | 添加或修改测试输入 |
sltest.import.sldvData | 根据 Simulink Design Verifier 结果创建测试用例 |
sltest.io.SimulinkTestSpreadsheet | 读取 Simulink Test 使用的格式的电子表格 (自 R2021a 起) |
sltest.testmanager.registerTestAdapter | 注册适配器转换测试数据 (自 R2022b 起) |
输出
sltest.testmanager.BaselineCriteria | 添加或修改基线准则 |
sltest.testmanager.EquivalenceCriteria | 添加或修改等效性准则 |
sltest.testmanager.SignalCriteria | 添加或修改信号准则 |
sltest.testmanager.CustomCriteria | 添加或修改自定义准则 |
sltest.testmanager.LoggedSignal | 创建或修改记录信号以用作仿真输出 |
sltest.testmanager.LoggedSignalSet | 创建或修改一组记录的信号 |
sltest.testmanager.OutputTrigger | 信号记录输出开始和停止触发器 (自 R2023a 起) |
sltest.testmanager.OutputTriggerResult | 信号记录输出触发结果 (自 R2023a 起) |
sltest.testmanager.TriggerMode | 输出触发类型 (自 R2023a 起) |
故障集
sltest.testmanager.FaultSet | 创建或修改故障集 (自 R2024a 起) |
sltest.testmanager.SpecifiedFault | 创建或修改测试中添加到故障集的故障 (自 R2024a 起) |
sltest.testmanager.refreshFaults | 刷新 Simulink Test 管理器中指定模型的故障列表 (自 R2024a 起) |
迭代
sltestiteration | 创建测试迭代 |
sltest.testmanager.TestIteration | 创建或修改测试迭代 |
sltest.testmanager.ParameterSet | 添加或修改参数集 |
sltest.testmanager.ParameterOverride | 添加或修改参数覆盖 |
基于 MATLAB 的 Simulink 测试
sltest.TestCase | 基于 MATLAB 的 Simulink 测试的测试用例类 (自 R2020b 起) |
loadSystem | 基于 MATLAB 的 Simulink 测试的加载模型 (自 R2020b 起) |
simulate | 仿真模型或 Simulink.SimulationInput 进行基于 MATLAB 的 Simulink 测试 (自 R2020b 起) |
sltest.TestCase.forInteractiveUse | 创建用于交互使用的测试用例 (自 R2020b 起) |
createTemporaryFolder | 创建临时文件夹 (自 R2020b 起) |
assumeSignalsMatch | 假设两个数据集是等价的 (自 R2020b 起) |
assertSignalsMatch | 断言两个数据集是等价的 (自 R2020b 起) |
fatalAssertSignalsMatch | 致命断言两个数据集是等效的 (自 R2020b 起) |
verifySignalsMatch | 验证两组数据是否等效 (自 R2020b 起) |
sltest.harness.SimulationInput | 为基于 MATLAB 的 Simulink 测试创建测试框架仿真输入 (自 R2020b 起) |
createSimulationInput | 创建仿真输入对象 (自 R2021a 起) |
addModelCoverage | 为 Simulink 测试启用模型覆盖率收集 (自 R2021a 起) |
addSimulinkTestResults | 启用将测试结果推送至 Simulink 测试管理器 (自 R2021a 起) |
sltest.plugins.MATLABTestCaseIntegrationPlugin | 将基于 MATLAB 的 Simulink 测试的仿真和测试结果添加到测试管理器 (自 R2020b 起) |
sltest.plugins.ToTestManagerLog | 输出流将文本写入基于 MATLAB 的 Simulink 测试的测试管理器结果日志 (自 R2020b 起) |
sltest.plugins.ModelCoveragePlugin | 使用 MATLAB 单元测试框架收集模型覆盖率 |
测试框架
sltest.harness.check | 比较框架模型和主模型之间的被测组件 |
sltest.harness.clone | 复制测试框架 |
sltest.harness.close | 关闭测试框架 |
sltest.harness.convert | 在内部和外部存储之间转换测试框架 |
sltest.harness.create | 创建测试框架 |
sltest.harness.setHarnessCreateDefaults | 自定义测试框架创建的默认属性值 (自 R2021b 起) |
sltest.harness.getHarnessCreateDefaults | 获取框架创建默认值 (自 R2021b 起) |
sltest.harness.delete | 删除测试框架 |
sltest.harness.export | 将测试框架导出至 Simulink 模型 |
sltest.harness.find | 在模型中查找测试框架 |
sltest.harness.import | 将 Simulink 模型导入测试框架 |
sltest.harness.load | 负载测试框架 |
sltest.harness.move | 将测试框架从链接实例移至库模块或其他框架所有者 |
sltest.harness.open | 打开测试框架 |
sltest.harness.push | 将测试框架工作区条目和配置集推送至模型 |
sltest.harness.rebuild | 根据主模型重建测试框架并更新工作区条目和配置参数集 |
sltest.harness.set | 更改测试框架属性 |
sltest.harness.showDialog | 显示测试框架对话框 |
测试序列
步骤、转移和符号
sltest.testsequence.addStep | 添加测试序列步骤 |
sltest.testsequence.addStepAfter | 在现有步骤后添加测试序列步骤 |
sltest.testsequence.addStepBefore | 在现有步骤之前添加测试序列步骤 |
sltest.testsequence.addSymbol | 将符号添加到测试序列 |
sltest.testsequence.addTransition | 向测试序列步骤添加新转移 |
sltest.testsequence.deleteStep | 删除测试序列步骤 |
sltest.testsequence.deleteSymbol | 删除测试序列模块符号 |
sltest.testsequence.deleteTransition | 删除测试序列转移 |
sltest.testsequence.editStep | 编辑测试序列步骤 |
sltest.testsequence.editSymbol | 在 Test Sequence 模块中编辑符号 |
sltest.testsequence.editTransition | 编辑测试序列步骤转移 |
sltest.testsequence.find | 查找 Test Sequence 模块 |
sltest.testsequence.findStep | 查找测试序列步骤 |
sltest.testsequence.findSymbol | 查找 Test Sequence 模块符号 |
sltest.testsequence.getProperty | 获取 Test Sequence 模块属性 |
sltest.testsequence.newBlock | 创建 Test Sequence 模块 |
sltest.testsequence.readStep | 阅读 Test Sequence 模块步骤 |
sltest.testsequence.readSymbol | 读取 Test Sequence 模块符号属性 |
sltest.testsequence.readTransition | 读取测试序列转移的属性 |
sltest.testsequence.setProperty | 设置 Test Sequence 模块属性 |
场景
sltest.testsequence.activateScenario | 将 Test Sequence 模块场景设置为活动 (自 R2020b 起) |
sltest.testsequence.addScenario | 将新场景添加到 Test Sequence 模块 (自 R2020b 起) |
sltest.testsequence.deleteScenario | 从 Test Sequence 模块中删除场景 (自 R2020b 起) |
sltest.testsequence.editScenario | 编辑 Test Sequence 模块测试场景属性 (自 R2020b 起) |
sltest.testsequence.getActiveScenario | 获取 Test Sequence 模块活动场景 (自 R2020b 起) |
sltest.testsequence.getAllScenarios | 获取所有 Test Sequence 模块场景的名称 (自 R2020b 起) |
sltest.testsequence.getScenarioControlSource | 获取控制测试序列活动场景的源 (自 R2020b 起) |
sltest.testsequence.isUsingScenarios | 确定 Test Sequence 模块是否使用场景 (自 R2020b 起) |
sltest.testsequence.setScenarioControlSource | 设置源控制测试序列活动场景 (自 R2020b 起) |
sltest.testsequence.useScenario | 将 Test Sequence 模块转换为场景模式 (自 R2020b 起) |
测试评估
sltest.Assessment | 从集合访问评估 |
sltest.AssessmentSet | 通过仿真访问一组评估 |
sltest.getAssessments | 返回测试评估集对象 |
sltest.testmanager.Assessment | 逻辑或时序评估对象 (自 R2022a 起) |
sltest.testmanager.AssessmentSymbol | 评估中使用的符号 (自 R2022a 起) |
测试执行
sltest.testmanager.run | 使用测试管理器运行测试 |
sltest.testmanager.CoverageSettings | 修改覆盖率设置 |
sltest.plugins.coverage.CoverageMetrics | 指定使用 MATLAB 单元测试框架运行的测试的覆盖率度量 |
sltest.testmanager.addTestsForMissingCoverage | 添加测试以增加覆盖率 (自 R2022a 起) |
sltest.testmanager.mergeCoverage | 合并两个或多个测试结果集的覆盖率结果 |
sltest.testmanager.TestOptions | 添加测试覆盖率的选项 (自 R2022a 起) |
sltest.xil.framework.Framework | 初始化测试平台,启动和停止仿真,并显示测试平台、变量和任务 (自 R2022a 起) |
sltest.xil.framework.FrameworkConfiguration | 配置测试平台端口和变量映射 (自 R2022a 起) |
sltest.xil.framework.TestVariable | 读写映射到测试平台的变量 (自 R2022a 起) |
sltest.xil.framework.Stimulation | 控制测试平台的外部输入 (自 R2022a 起) |
sltest.xil.framework.Acquisition | 控制信号数据在测试平台记录并检索记录的数据 (自 R2022a 起) |
sltest.CodeImporter | 将 C 或 C++ 代码导入 Simulink 进行测试 (自 R2021a 起) |
sltest.CodeImporter.SandboxSettings | C 代码测试的沙盒设置 (自 R2021a 起) |
结果和报告
操作和预设项
sltest.testmanager.view | 启动 Simulink Test 管理器 |
sltest.testmanager.setpref | 设置测试管理器预设项 |
sltest.testmanager.getpref | 获取测试管理器预设项 |
sltest.testmanager.Options | 返回并指定测试文件选项 |
sltest.testmanager.find | 在测试文件中查找测试用例 (自 R2024a 起) |
sltest.testmanager.close | 关闭 Simulink Test 管理器 |
主题
- 使用脚本创建并运行测试用例
如何使用编程接口创建和运行测试的示例。
- 使用基于 MATLAB 的 Simulink 测试的测试模型
在 MATLAB 中编写可在测试管理器中使用的测试文件。
- 以编程方式创建并运行测试序列场景
以编程方式将测试场景添加到 Test Sequence 模块。
精选示例
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)