您可以在内部将测试工具保存为模型SLX文件的一部分,或者在外部保存为单独的SLX文件。模型在内部或外部存储所有测试工具;在一个模型中使用两种类型的脊甲存储是不可能的。在创建第一个测试套件时,选择内部或外部测试套件存储。如果您的模型已经有了测试工具,您可以在工具存储类型之间进行转换。
如果您将模型存储在配置管理系统中,请考虑使用外部测试工具。外部测试工具使您能够在不更改模型文件的情况下创建或更改工具。如果您计划经常共享您的模型,请考虑使用内部测试工具来简化文件管理。创建或更改内部测试工具将更改您的模型SLX文件。内部和外部测试工具都提供相同的同步、推送、重建和badge界面功能。
看到创建测试工具和选择属性.
存储在外部的线束对每个线束使用一个单独的SLX文件< modelName > _harnessInfo.xml
包含链接模型和工具的元数据的文件。改变测试工具可以改变harnessInfo.xml
文件。使用模型的唯一ID链接元数据和模型。测试工具元数据XML文件被创建并默认存储在与模型相同的文件夹中。如果需要,可以将元数据XML文件移动到MATLAB路径上的不同文件夹。只要工具元数据文件、模型和工具都在MATLAB路径上,模型和工具之间的链接就会持续存在。
对于外部测试,请遵循以下指导方针:
警告
不要删除或对harnessInfo.xml
文件。删除harnessInfo.xml
文件可能会切断模型和工具之间的关系,因此不能从模型中重新生成。
的harnessInfo.xml
文件必须是可写的,以保存对测试工具或主模型的更改。
包含测试工具SLX文件的文件夹必须在MATLAB上®路径。
如果测试装置harnessInfo.xml
文件不在与模型相同的文件夹中,XML文件或其文件夹必须在MATLAB路径上。
如果您将内部测试工具转换为外部测试工具,新的SLX文件将保存到当前工作文件夹中。
如果您将外部测试工具转换为内部测试工具,则外部SLX文件可以在MATLAB路径上的任何地方。
如果您的模型使用外部测试工具,那么只需使用保存>另存为.使用另存为将外部测试工具复制到新模型的目标文件夹,重命名工具,并保持工具信息为当前状态。
在磁盘上复制模型文件不会复制与模型关联的外部工具。
仅使用Simulink更改或删除测试工具万博1manbetx®UI或命令:
要删除测试工具,请使用缩略图UI或sltest.harness.delete
命令。
要重命名测试工具,请使用工具属性UI或sltest.harness.set
命令。
要复制外部保存的测试工具,请使用sltest.harness.clone
使用命令或将测试工具保存为新名称保存>另存为.
在Simulink外部删除或重命名工具文件会导致错误万博1manbetxharnessInfo.xml
文件和问题加载测试工具。
您可以在模型生命周期的不同阶段更改模型存储测试工具的方式。例如:
使用内部测试工具开发您的模型,以便您可以更容易地共享模型以进行审查。当您完成设计并将模型置于更改控制之下时,将其转换为外部工具。
使用配置管理模型作为新设计的起点。使用外部工具测试现有模型以避免修改它。然后,创建现有模型的副本。转换为新的开发阶段的内部工具。
要将测试线束存储更改为外部(或内部):
导航到主模型的顶部。
在应用程序选项卡,在模型验证、验证和测试下,单击万博1manbetx仿真软件测试.然后,在测试选项卡上,单击管理测试>转换为外部线束或转换为内部组件.
一个对话框提供关于转换过程和受影响的测试工具的信息。点击是的继续。
脊线是转换的。
到外部测试工具的转换为每个测试工具创建一个SLX文件和一个工具信息XML文件< modelName > _harnessInfo.xml
.
相反,转换到内部测试工具将移动测试工具SLX文件和harnessInfo.xml
文件。
当模型组件具有测试工具时,块的右下方会出现一个标记。要查看测试工具,请单击面板。要打开测试工具,请单击平铺。
要查看模型框图的测试工具,请单击模型画布中的拉出图标。要打开测试工具,请单击平铺。
要列出引用测试工具的打开测试用例,请单击标记在测试工具画布中。您可以单击测试用例名称,并在测试管理器中导航到测试用例。
您可以将测试工具导出到独立的模型,这对于归档测试工具或在不共享模型的情况下共享测试工具设计非常有用。
要导出单个测试工具,请执行以下操作:
从单个脊甲模型,在应用程序选项卡,在模型验证、验证和测试,点击万博1manbetx仿真软件测试.
在利用选项卡上,单击分离和出口.
在“将测试工具导出到独立模型”对话框中,单击好吧.
在“另存为”对话框中,输入独立工具模型的文件名,然后单击好吧.
该工具可转换为独立的模型。
转换从主模型中删除了工具,并破坏了与主模型的关系。如果一个模型只有一个脊甲,它harnessInfo.xml
文件被删除。如果一个模型有多个脊甲,而您删除其中一个,则harnessInfo.xml
文件被更新。
导出模型中的所有脊线:
导航到模型的顶层。不要选择任何块。
在应用程序选项卡,在模型验证、验证和测试,点击万博1manbetx仿真软件测试.
在利用选项卡上,单击分离和出口.
在“将测试工具导出到独立模型”对话框中,单击好吧.
在“另存为”对话框中,输入单独模型的文件名并单击好吧.
所有测试工具都被导出并转换为独立的模型。
导出将从主模型中删除组件,删除harnessInfo.xml
文件,并打破与主模型的关系。
本示例演示克隆一个现有的测试工具,并将克隆的工具导出到单独的模型中。如果您想要创建一个测试工具的副本作为一个单独的模型,但是要让测试工具与模型组件相关联,那么这是非常有用的。
高层工作流
如果你不知道你想要克隆的测试工具的确切属性,让他们使用sltest.harness.find
.您需要马具所有者ID和马具名称。
使用sltest.harness.clone克隆测试工具。
使用将测试工具导出到一个单独的模型sltest.harness.export
.请注意,导出的模型和原始模型之间没有关联。导出的模型是独立的。
打开模型并保存本地副本
模型=“sltestTestSequenceExample”;open_system(模型)
将本地副本保存在MATLAB路径上的可写位置。
获取源测试工具的属性
属性= sltest.harness.find([模型' / shift_controller '])
properties = struct with fields: model: 'sltestTestSequenceExample' name: 'controller_harness' description: " type: 'Testing' ownerHandle: 10.0007 ownerFullPath: 'sltestTestSequenceExample/shift_controller' ownerType: 'S万博1manbetximulink. properties = struct with fields: model: 'sltestTestSequenceExample' name: 'controller_harness' description: "子系统' isOpen: 0 canBeOpened: 1 verificationMode: 0 saveexternal: 0 rebuildOnOpen: 0 rebuildModelData: 0 postRebuildCallback: " graphic: 0 origSrc: 'Test Sequence' origSink: 'Test Assessment' synchronizationMode: 0 existingBuildFolder: " functionInterfaceName: "
克隆测试工具
使用sltest.harness克隆测试套件。克隆,ownerFullPath
和的名字
介绍了线束的性能结构。
sltest.harness.clone (properties.ownerFullPath properties.name,“ControllerHarness2”)
保存模型
在导出工具之前,将更改保存到模型中。
save_system(模型)
将测试工具导出到单独的模型
使用sltest.harness.export导出测试工具。导出的模型名称为ControllerTestModel
.
sltest.harness.export([模型' / shift_controller '),“ControllerHarness2”,...“名字”,“ControllerTestModel”)
清楚(“模型”)明确(“属性”) close_system (“sltestTestSequenceExample”, 0)
这个例子展示了如何以编程方式删除测试工具。当您的模型在不同的层次层次上有多个测试工具时,使用编程接口进行删除是很有用的。这个例子演示了如何创建四个测试工具,然后删除它们。
1.打开模型
open_system (“sltestCar”);
2.创建两个脊线传输
子系统,和两套传动比
子系统。
sltest.harness.create (“sltestCar /传播”);sltest.harness.create (“sltestCar /传播”);sltest.harness.create (“sltestCar /传输/传动比”);sltest.harness.create (“sltestCar /传输/传动比”);
3.找到模型中的脊线。
test_harness_list = sltest.harness.find (“sltestCar”)
test_harness_list = 1x5 struct array with fields: model name description type ownerHandle ownerFullPath ownerType isOpen canBeOpened verificationMode saveexternal rebuildOnOpen rebuildModelData postRebuildCallback graphical origSrc origSink synchronizationMode existingBuildFolder functionInterfaceName . test_harness_list = 1x5 struct array with fields: model name description type ownerHandle ownerFullPath ownerType isOpen canBeOpened verificationMode saveexternal rebuildOnOpen rebuildModelData postRebuildCallback graphical origSrc origSink synchronizationMode existingBuildFolder functionInterfaceName
4.删除吊带。
为sltest. harnness .delete(test_harness_list(k).ownerFullPath),...test_harness_list (k) . name)结束
close_system (“sltestCar”, 0);
万博1manbetx仿真软件测试™使您能够将测试工具从源所有者转移或克隆到目标所有者,而无需编译模型。你可以移动或克隆:
子系统跨子系统的利用。目标子系统也可以在不同的模型中。
跨库的库组件利用。
子系统参考块组件到其他子系统参考块组件。
子系统参考块利用子系统模型利用。
要移动或克隆安全带,右键单击Simulink画布并选择万博1manbetx测试工具>管理测试.中指定的子系统或块关联的测试工具将打开“管理测试工具”对话框并列出带式过滤器.点击行动访问移动和克隆选项。
选择目标路径并命名您的测试工具。
当你转换子系统或子系统的参考块一个模型块时,测试工具被转移到被引用的模型。利用在子系统块转换为块图脊。方法中的相同块复制子系统中的嵌套利用模型块。所有传输的线束都是模型参考中的内部线束。测试工具可能在转移时被重命名。您可以看到反馈,在完成转换窗格或在MATLAB命令行。
这些限制适用于转换a子系统或子系统的参考块一个模型布洛克:
SIL和PIL的吊带不转让。
子系统的测试工具中的需求没有被转移。必须手动复制。
sltest.harness.create
|sltest.harness.clone
|sltest.harness.delete
|sltest.harness.export
|sltest.harness.find
|sltest.harness.load
|sltest.harness.open
|sltest.harness.move
|模型参考转换顾问