创建测试框架
测试框架是用于隔离在测组件的模型,其具有针对测试场景配置的输入、输出和验证模块。您可以为模型组件或完整模型创建测试框架。测试框架为模型或模型组件提供单独的测试环境。例如:
- 您可以将子系统与模型的其余部分隔离开来,以便对子系统进行单元测试。 
- 您可以将被控对象模型添加到测试框架,以便为控制器创建闭环测试场景。 
- 您可以在测试框架中添加 Model Verification 模块和 Test Assessment 模块,以避免主模型包含不需要的验证模块。 
要将测试框架分配给测试用例,请在测试管理器的在测系统部分中选择测试框架。
您可以将框架随模型一起保存,也可以将其保存在外部文件中。如果您的模型接受变更管理,可考虑将测试框架保存在外部文件中。无论在模型内部还是外部,框架的工作方式是相同的。有关详细信息,请参阅管理测试框架和同步测试框架和模型之间的更改。
创建框架
在此示例中,您将直接从模型创建框架。该框架用于测试 sltestCarRootInport 模型的 shift_logic 子系统。
- 打开模型 - sltestCarRootInport。- openExample("sltestCarRootInport.slx")
- 右键点击 - shift_logic子系统。从上下文菜单中,选择测试框架 > 为 'shift_logic' 创建。
- 在“创建测试框架”对话框中,指定输入、输出和其他选项: - 使用 Constant 模块提供输入信号。在信源和信宿下,将信源设置为 - Constant,将信宿设置为- Scope。
- 保留其他选项的默认选择。默认情况下: - 框架会随模型文件一起保存。 
- 在打开时框架会与模型同步,这意味着对模型进行更改也会更新框架。 
 
 
- 点击确定以创建测试框架。 

框架的中心是 shift_logic 子系统的副本。shift_logic 子系统是在测组件。两个垂直子系统包含信号设定和路由。 
在测组件中使用的信号名称从模型传播到测试框架。对于子系统框架,某些传播的信号名称可能仅在编译框架后才可见。对于模块图框架,即使您未在“信号属性”对话框中选择显示传播的信号,系统也会传播信号名称。
您还可以使用 sltest.harness.create 函数、sltest.testmanager.createTestForComponent 函数或“为模型组件创建测试”向导(位于测试管理器中)创建框架或同时创建多个框架。有关该向导的信息,请参阅为模型或组件生成测试和测试框架。 
有关测试框架架构的信息,请参阅特定模型元素的测试框架构建。有关在创建新框架时自定义默认框架设置的信息,请参阅自定义测试框架创建默认属性值。
仿真测试框架
为 Constant 模块赋值以测试组件:
- 将速度模块的值更改为 - 50。
- 将油门模块的值更改为 - 30。
- 点击“仿真”选项卡中的“运行”以仿真框架。 
- 打开示波器并查看结果。换挡控制器选择三挡。  
使用测试管理器进行测试
在前面的用例中,您使用 Constant 模块提供了测试输入。您还可以使用来自外部数据文件的测试输入。
- 创建使用 Inport 信源的测试框架。 
- 创建使用测试框架作为在测系统的测试用例。 
- 将外部输入映射到测试用例。 
在测试管理器中使用测试用例时,您可以使用不同的测试向量进行迭代、添加测试用例、运行批量测试用例以及组织结果。此示例说明如何将外部数据用于测试框架,以及如何从测试管理器进行仿真。
- 要打开测试管理器,请在 App 选项卡上的“模型验证、确认和测试”下,点击 Simulink Test。然后,在测试选项卡上,点击 Simulink 测试管理器。 
- 从测试管理器工具条中,选择新建 > 测试文件。 
- 将文件命名为 - ShiftLogicTest。
- 选择新建测试用例 1。在在测系统部分中,点击使用当前模型  。 。
- 对于测试框架,从下拉列表中选择 - ShiftLogic_InportHarness。该测试框架已存在于模型中。
- 在输入部分中,点击创建。将输入数据文件命名为 - shift_logic_input,然后选择 MAT 文件格式。
- 在信号编辑器中,为输入输入值: - 选择 speed 信号,并为时间 - 0和- 30输入- 50。按 Enter 键以更新图。
- 选择 throttle 信号,并为时间 - 0和- 30输入- 30。按 Enter 键以更新图。 
- 点击信号编辑器工具条中的保存。 
 
- 选择要捕获的输出数据。 - 在测试管理器的仿真输出部分中,点击添加。 
- 在测试框架模块图中,选择 - gear信号线。在连接对话框中选择信号。
- 点击完成以将信号添加到测试用例输出中。 
 
- 点击测试管理器工具条中的运行。 
- 展开结果并突出显示 gear 信号输出。图中显示控制器选择三挡。 