Main Content

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

addInput

类: sltest.testmanager.TestCase
命名空间: sltest.testmanager

将输入文件添加到测试用例

说明

示例

input = addInput(tc,file,Name,Value) 将文件添加到测试用例的输入部分并返回测试输入对象 sltest.testmanager.TestInput

输入参数

全部展开

您想要添加测试输入的测试用例,指定为 sltest.testmanager.TestCase 对象。

MAT 文件或 Microsoft® Excel® 输入文件的名称和路径,指定为字符向量。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来

示例: 'Sheets','mysheet','Ranges','C1:F10','CreateIterations',false

MAT 文件和 Microsoft Excel 文件的配对

全部展开

输入适用的测试用例仿真编号,指定为 12。此设置适用于等效性检验。

示例: 'SimulationIndex',2

将输入文件添加到测试用例中迭代下的迭代的选项,指定为布尔值。

示例: 'CreateIterations',false

仅与 Microsoft Excel 文件一起使用的对

全部展开

Excel 文件中用作测试用例输入的工作表名称,指定为字符向量、字符串或字符串数组。

示例: 'testinputs', ["Heater","Plant"]

您作为输入添加的工作表中的单元格范围,指定为字符向量、字符串或字符串数组。仅当您还指定了 'Sheets' 时才可以指定 'Ranges'。您指定的范围必须与工作表相对应。例如,如果指定一张工作表,则指定一个范围。如果指定工作表的元胞数组,则 'Ranges' 元胞数组中的每个值必须与 'Sheets' 元胞数组中的一个工作表相对应。

您可以按照表所示指定 'Ranges'

指定 Range 的方法 描述

'Corner1:Corner2'

矩形范围

使用语法 'Corner1:Corner2' 指定范围,其中 Corner1Corner2 是定义区域的两个相对的角。例如,'D2:H4' 表示工作表上两个角 D2H4 之间的 3×5 矩形区域。'Range' 名称-值对参量不区分大小写,并使用 Excel A1 引用样式(参见 Excel 帮助)。

示例: 'Range','Corner1:Corner2'

''

未指定或为空

如果未指定,导入功能会自动检测使用的范围。

示例: 'Range',''

注意使用范围是指电子表格中实际包含数据的矩形部分。导入功能通过修剪不包含数据的前导行和尾随行和列来自动检测使用的范围。仅由空白组成的文本被视为数据,并在使用范围内捕获。

'Row1:Row2'

行范围

您可以通过使用 Excel 行指示符指定开始行和结束行来识别范围。然后 readtable 会自动检测指定行内使用的列范围。例如,导入函数将范围规范 '1:7' 解释为读取第 1 行到第 7 行(包括)中使用的范围内的所有列的指令。

示例: 'Range','1:7'

'Column1:Column2'

列范围

您可以通过使用 Excel 列指示符指定开始列和结束列来识别范围。然后 readtable 会自动检测指定列中使用的行范围。例如,导入函数将范围规范 'A:F' 解释为读取 A 列到 F 列(包括)中所用范围内的所有行的指令。

示例: 'Range','A:F'

'NamedRange'

Excel 命名范围

在 Excel 中,您可以创建名称来标识电子表格中的范围。例如,您可以选择电子表格的矩形部分并将其命名为 'myTable'。如果电子表格中存在这样的命名范围,则导入函数可以使用其名称读取该范围。

示例: 'Range','myTable'

示例: 'B2:C30', "D2:E30", ["B2:C30", "D2:E30", "B2:C30"]

选择使用 Excel 文件中的每个工作表或由 'Sheets' 参量指定为单独的输入,指定为 truefalse

输出参量

全部展开

测试输入,作为 sltest.testmanager.TestInput 对象或 sltest.testmanager.TestInput 对象数组返回。

示例

全部展开

此示例显示如何从 Microsoft® Excel® 电子表格添加数据并将其映射到测试用例。仅添加并映射包含数据的两张工作表。

加载示例模型

open_system('slexAutotransRootInportsExample');

创建新的测试文件

tf = sltest.testmanager.TestFile('input_test_file.mldatx');

获取测试套件和测试用例对象

ts = getTestSuites(tf);
tc = getTestCases(ts);

添加示例模型作为在测系统

setProperty(tc,'Model','slexAutotransRootInportsExample');

将 Excel® 数据添加到输入部分并指定要添加的工作表

excelfile = 'sltestExampleInputs.xlsx';
input = addInput(tc,excelfile,'Sheets',["Acceleration","Braking"]);

按模块名称映射工作表的输入信号

map(input(1),0);
map(input(2),0);

此示例显示了添加 Excel 文件表和范围的语法。

% Create test file
tf = sltest.testmanager.TestFile('Excel Input Test File');

% Create test suite and test case
ts = createTestSuite(tf,'Excel Test Suite');
tc = createTestCase(ts,'baseline','Excel Input Test Case');

% Add Excel data to Inputs section, specifying sheets and range
input = addInput(tc,'C:\MyHomeDir\myexcel.xlsx',...
   'Sheets',["Optics","Torque","Throttle"],...
   'Ranges',["B1:C20","","D1:G10"]);

版本历史记录

在 R2015b 中推出