Main Content

sldv.test

Stateflow チャートと MATLAB Function ブロックのテスト オブジェクティブ関数

説明

テストの生成時、sldv.test(expr)expr を true として指定します。expr には有効な論理式を使用します。

この関数はなにも出力しないため、expr を評価する間接的な副作用があるだけで、親関数には影響を与えません。MATLAB® コマンド ラインからこの関数を実行しても、効果はありません。

コード内に sldv.test テスト オブジェクティブを組み入れるか、オブジェクティブを分離して検証スクリプトに入れます。

[テスト生成] ペインの [テスト オブジェクティブ] オプションは、関数 sldv.test と Test Objective ブロックによって表されるテスト オブジェクティブに適用されます。

すべて折りたたむ

MATLAB Function ブロックを使用して、テスト オブジェクティブとテスト条件を追加します。

sldvdemo_cruise_control モデルを開き、ex_sldvdemo_cruise_control として保存します。

speed 信号から Test Condition ブロックを削除します。Test Condition ブロックの代わりに、この例では、sldv.testsldv.condition を使用します。

User-Defined Functions ライブラリから MATLAB Function ブロックを追加します。

  • ブロックに tests という名前を付けます。

  • ブロックを開いて次のコードを追加します。

    function define_tests(speed, target)
    %#codegen
    
    sldv.condition(speed >= 0 && speed <= 100);
    sldv.test(speed > 60 && target > 40 && target < 50);
    sldv.test(speed < 20 && target > 50);
  • モデルを保存し、最上位モデルに戻ります。

  • このブロックを、speed ブロックの信号と target ブロックの信号に接続します。

変更を ex_sldvdemo_cruise_control モデルに保存します。

テスト ケースを生成するには、[Design Verifier] タブで、[テスト生成] をクリックします。

入力引数

すべて折りたたむ

テストの式。論理式として指定します。たとえば、x > 0 です。

代替方法

関数 sldv.test を使用する代わりに、Test Objective ブロックをモデルに挿入できます。Test Objective ブロックと sldv.test の違いの詳細については、テスト ケースの生成とはを参照してください。

バージョン履歴

R2009b で導入