Main Content

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

sltest.import.sldvData

根据 Simulink Design Verifier 结果创建测试用例

说明

[owner,testHarness,testFile,testCase] = sltest.import.sldvData(dataFile) 使用 dataFile 中包含的 Simulink® Design Verifier™ 分析结果创建测试框架和测试文件。该函数返回与测试用例、测试框架、测试文件和测试用例相关的模型组件所有者。如果测试用例或迭代用于 Requirements Table 模块,则相应的需求会在测试用例或迭代中自动链接。

[owner,testHarness,testFile,testCase] = sltest.import.sldvData(dataFile,Name,Value) 使用一个或多个 Name,Value 对参量指定的附加选项创建测试框架和测试文件。在数据文件输入参量后指定名称-值对参量。

示例

全部折叠

打开 sldvdemo_cruise_control 模型。设置选项来生成测试。然后,使用 sldvrun 生成 Simulink Design Verifier 数据文件。导入 Simulink Design Verifier 数据以便 Simulink Test 可以使用。

open_system('sldvdemo_cruise_control');

opts = sldvoptions;
opts.Mode = 'TestGeneration';     

[status,files] = sldvrun('sldvdemo_cruise_control',opts)
20-Apr-2024 12:59:07
Checking compatibility for test generation: model 'sldvdemo_cruise_control'
Compiling model...done
Building model representation...done

20-Apr-2024 12:59:19

'sldvdemo_cruise_control' is compatible for test generation with Simulink Design Verifier.

Generating tests using model representation from 20-Apr-2024 12:59:19...


Generating output files:

20-Apr-2024 12:59:42
Results generation completed.

    Data file:
    /tmp/Bdoc24a_2589924_3008958/tpe8910c9a/simulinktest-ex90358021/sldv_output/sldvdemo_cruise_control/sldvdemo_cruise_control_sldvdata.mat
status = 1
files = struct with fields:
                 DataFile: '/tmp/Bdoc24a_2589924_3008958/tpe8910c9a/simulinktest-ex90358021/sldv_output/sldvdemo_cruise_control/sldvdemo_cruise_control_sldvdata.mat'
             HarnessModel: ''
           SystemTestFile: ''
                   Report: ''
                PDFReport: ''
                  LogFile: ''
           ExtractedModel: ''
    BlockReplacementModel: ''
               SLTestFile: ''

[owner,testharness,testfile,testcase] = sltest.import.sldvData...
   (files.DataFile,'TestHarnessName','CoverageHarness',...
   'TestFileName','CoverageTests')
owner = 
'sldvdemo_cruise_control'
testharness = 
'CoverageHarness'
testfile = 
'/tmp/Bdoc24a_2589924_3008958/tpe8910c9a/simulinktest-ex90358021/CoverageTests.mldatx'
testcase = 
  TestCase with properties:

             Name: 'New Test Case 1'
         TestFile: [1x1 sltest.testmanager.TestFile]
         TestPath: 'CoverageTests > New Test Suite 1 > New Test Case 1'
         TestType: 'baseline'
      RunOnTarget: {[0]}
    RunOnPlatform: {[Desktop]}
           Parent: [1x1 sltest.testmanager.TestSuite]
     Requirements: [0x1 struct]
      Description: ''
          Enabled: [1]
             Tags: [0x0 string]

open(testfile)

% Clean up Test Manager
sltest.testmanager.clear
sltest.testmanager.clearResults
sltest.testmanager.close

输入参数

全部折叠

Simulink Design Verifier sldvrun 分析生成的 MAT 数据文件的路径和文件名,指定为字符向量或字符串标量。数据文件可以包含一个或多个基线测试用例以及可选的预期输出。当文件中有多个测试用例时,每个测试用例都作为一个迭代导入。当您将文件导入 Simulink Test™ 时,导入函数会创建一个 MLDATX 测试文件,如果您指定 ExcelFilePath,则会创建一个包含该位置的输入值的 Excel® 文件。如果 Excel 文件已经存在,则会向文件中添加新工作表。

示例: 'ShiftLogic0/ShiftLogic0_sldvdata.mat'

名称-值参数

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

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

示例: 'TestHarnessName','DatafileHarness','CreateHarness',false

用于添加或重用模型或模型组件的测试框架的选项,它对应于测试文件中的测试用例,指定为由 'CreateHarness'truefalse 组成的逗号分隔的对。

如果您指定 true,则导入函数 Simulink Design Verifier 将使用 'TestHarnessName' 名称-值对创建一个新的测试框架,其名称为您指定的名称。

如果您指定 false,则导入函数将重用您使用 'TestHarnessName' 名称-值对指定的现有测试框架。

注意

如果分析的模型是测试框架,则 CreateHarness 默认值为 false

示例: 'CreateHarness',false

用于运行测试用例的测试框架,指定为由 'TestHarnessName' 和测试框架名称组成的逗号分隔的对。

如果 CreateHarnesstrue,则会创建具有指定 TestHarnessName 的新测试框架。如果 CreateHarnessfalse,则重新使用具有指定 TestHarnessName 的现有测试框架。

示例: 'TestHarnessName','ModelCoverageTestHarness'

如果 CreateHarnesstrue,则测试框架的来源以逗号分隔的对的形式指定,该对由 'TestHarnessSource''Inport''Signal Editor' 组成。

  • Inport — 输入包含在 Simulink Design Verifier 数据文件中,并映射到测试框架中的 Inport 模块。使用 Inport 选项允许您将其他输入映射到测试框架 Inport 模块,这对于使用相同测试框架运行多个测试用例或迭代非常有用。当源为 Inport 时,MAT 和 Excel 文件均受支持。

  • Signal Editor — 输入位于测试框架内部的 Signal Editor 模块中的场景中。Signal Editor 模块支持包含这些输入的 MAT 文件。您可以在信号编辑器中编辑场景。

示例: 'TestHarnessName','ModelCoverageTestHarness'

为测试用例创建的测试文件的名称,指定为由 'TestFileName' 和测试文件的名称组成的逗号分隔的对。

示例: 'TestFileName','ModelCoverageTests'

Simulink Design Verifier 分析中提取的模型的路径,指定为由 'ExtractedModelPath' 和路径组成的逗号分隔的对。

Simulink Test 使用提取的模型生成测试框架。默认情况下,sltest.import.sldvData 会在 Simulink Design Verifier 配置参数指定的输出文件夹中查找提取的模型。如果提取的模型位于不同的位置,请使用 ExtractedModelPath

Simulink Design Verifier 在分析顶层模型时不使用提取的模型。

示例: 'Tests/ExtractedModels/'

要用于导入操作的重用测试用例,指定为由 'TestCase' 和测试用例名称组成的逗号分隔的对。使用此选项时,请勿指定任何其他名称-值对。

示例: 'TestCase','ModelCoverageTest2'

包含要测试的输入值的 Excel 文件的路径,指定为字符向量或字符串标量。如果指定此路径,则每次迭代的输入信号都将保存到 Excel 文件中。如果文件已经存在,则会向其中添加一个新工作表。

示例: 'ExcelFilePath','ShiftLogic_sldvdata.xlsx'

输出参量

全部折叠

被测组件的路径,以字符向量形式返回

示例: 'ShiftLogic0/ShiftLogic0_sldvdata'

用于运行测试用例的测试框架的名称,以字符向量形式返回。

使用测试用例创建或更新的测试文件的名称,以字符向量形式返回。

新创建或更新的测试用例的名称,以字符向量形式返回。如果有多个测试用例,则每个测试用例都被视为一次迭代。

版本历史记录

在 R2015b 中推出

另请参阅

| (Simulink Design Verifier)