メインコンテンツ

sltest.testmanager.TestIteration クラス

名前空間: sltest.testmanager

テスト反復を作成または変更

説明

反復により、モンテ カルロやパラメーター スイープなどのテスト方法に対するモデル設定の組み合わせをテストできます。テストの実行時、反復はモデル コールバックやテスト コールバックの前に初期化します。テスト反復オブジェクトを作成すると、クラス メソッドを使用して反復ごとにテスト ケースの要素をオーバーライドできます。

反復スクリプトは、テスト ケースの [反復] セクションにあるテキスト ウィンドウで作成します。反復スクリプトは MATLAB® コマンド ウィンドウでは実行できません。

Scripted iterations section of the Test Manager

このセクションにこのリファレンス ページのスクリプト例を挿入し、テスト ケースの他のセクションを定義する必要があります。テストの実行時、モデルの読み込み前にスクリプトによる反復が実行されます。反復およびスクリプトによる反復の詳細については、Test Iterationsを参照してください。

sltest.testmanager.TestIteration クラスは handle クラスです。

クラス属性

HandleCompatible
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

iterationObj = sltest.testmanager.TestIteration は、テスト反復オブジェクトを返します。このオブジェクトを使用して、テスト ケースで 1 つの反復が構築されます。テストで作成する反復ごとに反復オブジェクトを 1 つずつ使用する必要があります。

sltestiteration 関数を使用して、反復スクリプト内でテスト反復を作成することもできます。

MATLAB コマンド ウィンドウで for ループを使用して多くの反復をテスト ケースに追加すると、MATLAB コマンド ウィンドウが一時的に使用できなくなることがあります。コマンド ウィンドウでテスト ケースに反復を追加するときは、代わりにベクトル化を使用してください。以下に例を示します。

iterations(100) = sltest.testmanager.TestIteration; 
addIteration(tc,iterations);

プロパティ

すべて展開する

テスト反復の名前。文字ベクトルとして指定します。反復の名前はテスト ケース内の他の反復と重複しない一意の名前でなければなりません。

例: 'Iteration 1a'

属性:

SetAccess
public
GetAccess
public
Dependent
true
NonCopyable
true

テスト反復の説明テキスト。文字ベクトルとして返されます。

属性:

GetAccess
public
SetAccess
public
Dependent
true
NonCopyable
true

データ型: char

反復のテスト ケース。sltest.testmanager.TestCase オブジェクトとして返されます。

属性:

GetAccess
public
SetAccess
private
Dependent
true
NonCopyable
true

反復用のモデル パラメーターのオーバーライドのセット。文字ベクトルの cell 配列として返されます。

属性:

SetAccess
protected
GetAccess
public
Dependent
true
NonCopyable
true

反復用のテスト パラメーターの設定のセット。文字ベクトルの cell 配列として返されます。

属性:

SetAccess
protected
GetAccess
public
Dependent
true
NonCopyable
true

反復用のモデル変数のオーバーライドのセット。文字ベクトルの cell 配列として返されます。

属性:

SetAccess
protected
GetAccess
public
Dependent
true
NonCopyable
true

テスト ケースで反復を実行するオプション。logical として指定します。

属性:

SetAccess
public
GetAccess
public
Dependent
true
NonCopyable
true

メソッド

すべて展開する

すべて折りたたむ

このスクリプトによる反復の例では、テスト ケースのモデルを sldemo_absbrake と指定します。その反復がテスト実行中に生成されます。このスクリプトのセクションは、テスト ケースの [スクリプトによる反復] セクションのものです。[スクリプトによる反復] セクションでのみ実行されます。sltest_testCase[スクリプトによる反復] セクションで定義されている変数で、反復の親のテスト ケース オブジェクトです。

% Open the model for this example
openExample('sldemo_absbrake');

% Specify the parameter sweep
vars = 32 : 0.5 : 34;

% Create iteration for each parameter using a loop
for k = 1 : length(vars)

    % Create test iteration object
    testItr = sltest.testmanager.TestIteration;

    % Set the parameter value for this iteration
    setVariable(testItr,'Name','g','Source',...
       'base workspace','Value',vars(k));

    str = sprintf('Iteration %d',k);

    % Add the iteration object to the test case
    addIteration(sltest_testCase,testItr,str);
end

このスクリプトによる反復の例には、テスト ケースの [パラメーターのオーバーライド] セクションで定義されたパラメーター セットが必要です。その反復がテスト実行中に生成されます。このスクリプトのセクションは、テスト ケースの [スクリプトによる反復] セクションのものです。[スクリプトによる反復] セクションでのみ実行されます。sltest_testCase[スクリプトによる反復] セクションで定義されている変数で、反復の親のテスト ケース オブジェクトです。

% Define parameter sets for a test case and add this code in the

% Scripted iterations section of the test case
for k = 1 : length(sltest_parameterSets)

    % Create test iteration object    
    testItr = sltest.testmanager.TestIteration;

    % Use the parameter set in this iteration
    testItr.setTestParam('ParameterSet',sltest_parameterSets{k});
    
    str = sprintf('ParameterSet %d',k);

    % Add the iteration object to the test case
    addIteration(sltest_testCase,testItr,str);
end

代替方法

スクリプトを使用せずに反復を作成する場合は、テスト ケースでテーブルによる反復を使用できます。テーブルによる反復の詳細については、Test Iterationsを参照してください。

バージョン履歴

R2016a で導入