メインコンテンツ

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) は、1 つ以上の 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)
12-Aug-2025 18:22:10
Checking compatibility for test generation: model 'sldvdemo_cruise_control'
Compiling model...done
Building model representation...done

12-Aug-2025 18:22:19

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

Generating tests using model representation from 12-Aug-2025 18:22:19...


Generating output files:

12-Aug-2025 18:22:44
Results generation completed.

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

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

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

open(testfile)

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

入力引数

すべて折りたたむ

Simulink Design Verifier sldvrun 解析によって生成される MAT データ ファイルのパスとファイル名。文字ベクトルまたは string スカラーとして指定します。データ ファイルには、1 つ以上のベースライン テスト ケースと、オプションで期待される出力を含めることができます。ファイル内に複数のテスト ケースがある場合、各テスト ケースは反復としてインポートされます。ファイルを Simulink Test™ にインポートすると、インポート関数によって MLDATX テスト ファイルが作成されます。また、ExcelFilePath を指定する場合は、その場所に入力値を含む Excel® ファイルが作成されます。Excel ファイルが既に存在する場合は、新しいシートがファイルに追加されます。

例: 'ShiftLogic0/ShiftLogic0_sldvdata.mat'

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

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

テスト ファイル内のテスト ケースに対応する、モデルまたはモデル コンポーネントのテスト ハーネスを追加または再利用するためのオプション。'CreateHarness'true または false で構成されるコンマ区切りのペアとして指定します。

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 ファイルがサポートされています。信号エディターでシナリオを編集できます。

例: 'TestHarnessSource','Inport'

テスト ケース用に作成されたテスト ファイルの名前。'TestFileName' とテスト ファイルの名前、テキスト ファイルの名前の後に MLDATX 拡張子を付けたもの、またはテスト ファイルの絶対パスで構成されるコンマ区切りのペアとして指定します。

例: 'TestFileName','ModelCoverageTests'

例: 'TestFileName','ModelCoverageTests.mldatx'

例: 'TestFileName','C:\myTests\coverage\ModelCoverageTests.mldatx'

Simulink Design Verifier の解析から抽出されたモデルのパス。'ExtractedModelPath' とパスで構成されるコンマ区切りのペアとして指定します。

Simulink Test は抽出されたモデルを使用してテスト ハーネスを生成します。既定では、sltest.import.sldvData は、Simulink Design Verifier のコンフィギュレーション パラメーターで指定された出力フォルダーで抽出されたモデルを検索します。抽出されたモデルが別の場所にある場合は、ExtractedModelPath を使用します。

Simulink Design Verifier は、最上位モデルを解析する場合、抽出されたモデルを使用しません。

例: 'Tests/ExtractedModels/'

インポート操作に使用する既存のテスト ケース。'TestCase'sltest.testmanager.TestCase オブジェクトで構成されるコンマ区切りのペアとして指定します。このオプションを使用する場合は、他の名前と値のペアを指定しないでください。

例: 'TestCase',myTestCase

テストする入力値を含む Excel ファイルのパス。文字ベクトルまたは string スカラーとして指定します。このパスを指定すると、各反復の入力信号が Excel ファイルに保存されます。ファイルが既に存在する場合は、新しいシートがそのファイルに追加されます。

すべてのテスト ケースですべての入力に対して sldvData.TestCases.dataNoEffecttrue に設定されている場合、テスト ケースは無視され、インポートしても Excel ファイルは生成されず、新しいシートも追加されません。sldvData.TestCases.dataNoEffect については、Manage Simulink Design Verifier Data Files (Simulink Design Verifier) を参照してください。

例: 'ExcelFilePath','ShiftLogic_sldvdata.xlsx'

出力引数

すべて折りたたむ

テスト対象のコンポーネントのパス。文字ベクトルとして返されます。

例: 'ShiftLogic0/ShiftLogic0_sldvdata'

テスト ケースを実行するためのテスト ハーネスの名前。文字ベクトルとして返されます。

テスト ケースを使用して作成または更新されたテスト ファイルの名前。文字ベクトルとして返されます。

新しく作成または更新されたテスト ケースの名前。sltest.testmanager.TestCase オブジェクトとして返されます。複数のテスト ケースの場合、各テスト ケースは反復として取得されます。

テスト ケースのすべての入力に対して sldvData.TestCases.dataNoEffecttrue に設定されている場合、sltest.import.sldvData を使用した際に、そのテスト ケースは無視されます。sldvData.TestCases.dataNoEffect については、Manage Simulink Design Verifier Data Files (Simulink Design Verifier) を参照してください。

バージョン履歴

R2015b で導入