Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

slreq.verification.services.JUnit クラス

名前空間: slreq.verification.services
スーパークラス:

外部結果ソースの操作

R2020a 以降

説明

slreq.verification.services.JUnit のインスタンスは、検証用に JUnit 結果ファイルを解釈するユーティリティを提供します。

作成

JUnitService = slreq.verification.services.JUnit() は結果取得ロジックを XML ファイルに送信します。

出力引数

すべて展開する

結果取得ロジックをスクリプト化する GetResultFcn で使用されるサービス

メソッド

上記の JUnitService など、JUnit クラスのインスタンスに対してメソッドを実行できます。

ID が testID であるテストの結果が格納された resultFile の場合、関数 getResult はその testID の結果を返します。出力 result は、その testIDstatustimestamp のフィールドをもつ struct です。

result = JUnitService.getResult(testID, resultFile);

同様に、getAllResults は、以下を使用して resultFile のすべてのテストの result を取得します。

allResults = JUnitService.getAllResults(resultFile);

ここで、allResults は、resultFile のすべてのテストの testidstatus、および timestamp のフィールドをもつ構造体の配列です。そのテストの JUnit 出力に利用可能なエラーまたは診断出力がある場合は、そのテキスト文字列が error フィールドまたは info フィールドに格納されます。

すべて折りたたむ

この例では、テスト スクリプトにリンクすることで、MATLAB® xml ユニット テストからの結果を統合します。"要件エディター" の検証の状態にテスト結果が反映されます。この例を実行するには、[例を開く] をクリックして実行します。この例では、以下を使用します。

  • counter_req.slreqx という名前の要件セット ファイル。

  • myMUnitResults.xml. という名前の xml ユニット テスト ファイル。このファイルには、testCounterStartsAtZero という名前のテスト ケースが含まれます。

手順 1: リンク タイプの登録

リンクを作成する前に、要件セット ファイルからリンク タイプを登録する必要があります。"要件エディター" で要件ファイル counter_req.slreqx を開きます。

reqSet = slreq.open('counter_req.slreqx');

requirements_set_munit.png

MUnit テスト ファイルに固有のリンク タイプを登録します。この例で必要なドメイン登録は linktype_mymljunitresults.m です。カスタム リンクタイプ linktype_mymljunitresults.m を登録するには、以下を入力します。

rmi register linktype_mymljunitresults;

関数 GetResultFcn のカスタム ロジックは、テスト ケースに対応する結果ファイルの場所を特定し、その .xml ファイルから結果を取得します。GetResultFcn の詳細については、リンクとリンク タイプを参照してください。テストは、JUnit 出力を生成する XML プラグインを用いるカスタマイズされたテスト ランナーを使用して実行されます。XML Plugin クラスは、テスト結果を myMUnitResults.xml というファイルに書き込むプラグインを作成します。

メモ: 登録コマンドが何らかの警告を返す場合、ファイルの登録を解除し、コマンドをもう一度実行しなければなりません。ファイルの登録を解除するには、rmi unregister myMUnitResults.xml と入力します。

セクション 2: リンクの作成

外部テストのプロパティを含む struct を作成します。リンクを作成するには、コマンド プロンプトに以下を入力します。

externalSource.id = 'testCounterStartsAtZero';
externalSource.artifact = 'counterTests.m';
externalSource.domain = 'linktype_mymljunitresults';

リンクに関連する要件の SID は 2 に設定されています。リンクに関連する要件を見つけるには、以下を入力します。

requirement = reqSet.find('Type', 'Requirement', 'SID', 2);

リンクを作成するには、以下を入力します。

link = slreq.createLink(requirement, externalSource);

このコマンドは、テスト ケース testCounterStartsAtZero と、SID が 2 の要件の間にリンクを作成します。

メモ: 古い結果を参照することがないように、結果ファイルのタイムスタンプがリンク作成のタイムスタンプよりも新しいことを確認してください。myMUnitResults.xml を開き、ファイルでダミーの変更を行ってもう一度保存することで最新のタイムスタンプを取得します。

"要件エディター" で、リンクが右側のペインの [リンク] に表示されます。

セクション 3: 検証の状態の表示

検証の状態を表示するには、まず、要件セットの検証の状態を更新する必要があります。MATLAB コマンド プロンプトで、以下を入力します。

reqSet.updateVerificationStatus;

"要件エディター" に検証の状態の列を表示するには、showColumns_16.png [列][検証の状態] が選択されていることを確認します。更新後、要件の検証の状態を取得します。

status = reqSet.getVerificationStatus
status = struct with fields:
         total: 3
        passed: 0
        failed: 0
    unexecuted: 1
     justified: 0
          none: 2

"要件エディター" に、パスまたは失敗した要件セット全体の検証の状態が示されます。

verification_status_passed_test_counter.png

testCounterStartsAtZero の要件の検証の状態は完全に検証されています。"要件エディター" を開き、検証の状態を表示します。

reqSet = slreq.open('counter_req.slreqx');

"要件エディター" に、要件セット内の各要件の検証の状態が表示されます。counterSetsValue の要件の検証の状態は完全に検証されています。

overall_verification_status_pass_test_counter.png

検証の状態は、3 つのテストのうち 1 つがパスしたことを示しています。"要件エディター" で要件の検証の状態を表示するには、[リフレッシュ] をクリックします。

リンク タイプの登録を解除します。

rmi unregister linktype_mymljunitresults;

バージョン履歴

R2020a で導入