このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
テスト スクリプトへのリンク
このワークフローでは、外向きリンク エディターと API を使用して、要件を MATLAB® スクリプトにリンクします。要件エディターの検証ステータスにテスト結果が反映されます。これらの説明は、外部のテスト結果を要件の検証ステータスに含めるためのワークフローに従います。詳細については、外部ソースからの結果を検証ステータスに含めるを参照してください。
サンプル ファイルを開く
テストとしてカスタムに作成された MATLAB スクリプトからの結果の統合の例を開きます。
openExample(['slrequirements/' ... 'IntegratingResultsFromACustomAuthoredMATLABScriptAsATestExample'])
要件エディターで counter_req
の要件セットを開きます。この要件セットには要件 ID と説明をもつ子要件があります。
MATLAB コード ファイル runmytests.m
は、Counter.m
の Counter
クラスのテストを実行します。runmytests.m
ファイルには、テスト結果を TAP 形式で results.tap
という名前のファイルに書き込むカスタム メソッドが含まれています。この例では、外向きリンク エディターと Requirements Toolbox™ API を使用して、counter_req
要件セットの要件と runmytests.m
のテスト ケースの間のリンクを作成します。
カスタム ドキュメント インターフェイスの作成と登録
テスト スクリプトへのリンクを作成する前に、テスト スクリプトへのリンクとテスト スクリプトからの結果の取得を有効にするためのカスタム ドキュメント インターフェイスを作成して登録します。
MATLAB コマンド ラインで次のコードを実行して
myCustomDocInterface.m
ファイルを開きます。open(fullfile(matlabroot,"toolbox","slrequirements","slrequirements","linktype_examples","myCustomDocInterface.m"))
関数名
myCustomDocInterface
をlinktype_mymscripttap
に置き換えます。myCustomDocInterface.m
のコピーを現在のフォルダーに保存します。MATLAB の [エディター] タブで [保存] 、 [コピーに名前を付けて保存] をクリックします。ファイルをlinktype_mymscripttap.m
として保存します。docInterface.Label
を'MScript TAP Results'
として設定します。docInterface.Extensions
を{'.M'}
として設定します。既存の
GetResultFcn
を次の関数に置き換えます。function result = GetResultFcn(link) testID = link.destination.id; testFile = link.destination.artifact; resultFile = getResultFile(testFile); if ~isempty(resultFile) && isfile(resultFile) tapService = slreq.verification.services.TAP(); result = tapService.getResult(testID, resultFile); else result.status = slreq.verification.Status.Unknown; end end function resultfile = getResultFile(testFile) resultMap = ["runmytests.m", "results.tap";... "othertests.m", "results2.tap"]; resultfile = resultMap(resultMap(:,1) == testFile,2); end
GetResultFcn
はユーティリティslreq.verification.services.TAP
を使用して、検証の結果ファイルを解釈します。GetResultFcn
の詳細については、Define Custom Document Interface for Direct Linking to Requirementsを参照してください。linktype_mymscripttap.m
を保存します。リンク タイプを登録します。コマンド ラインに次のように入力します。
rmi register linktype_mymscripttap
メモ
コマンドが警告を返す場合、ファイルを登録解除し、手順 5 に再度従わなければなりません。以下を入力して、ファイルを登録解除します。
rmi unregister linktype_mymscripttap
テスト スクリプトのテスト ケースへの要件のリンク
テスト結果を生成するテスト スクリプトへの要件からのリンクを作成して、要件を確認できます。外向きリンク エディターを使用して、または Requirements Toolbox API を使用して、リンクを作成できます。
外向きリンク エディターを使用したリンクの作成
外向きリンク エディターを使用して、要件からテスト スクリプトへのリンクを作成します。
要件エディターを開き、
counter_req.slreqx
要件セットで子要件1.1
を右クリックして、[[外向きリンク] ダイアログを開く] を選択します。外向きリンク エディターのダイアログ ボックスの [要件] タブで、[新規] をクリックします。
以下の詳細を入力してリンクを確立します。
説明:
runmytestscounterStartsAtZero
ドキュメント タイプ:
MScript TAP Results
ドキュメント:
runmytests.m
場所:
counterStartsAtZero
[OK] をクリックします。要件エディターの [リンク] セクションでリンクが強調表示されます。
API を使用したテスト スクリプトへのリンク
API を使用して、要件からテスト スクリプトへのリンクを作成します。
MATLAB コマンド プロンプトで、次を入力します。
externalSource.id = 'counterStartsAtZero'; externalSource.artifact = 'runmytests.m'; externalSource.domain = 'linktype_mymscripttap';
以下を入力して、リンクに関連する要件を見つけます。
requirement = reqSet.find(Type="Requirement",SID=2);
以下を入力してリンクを作成します。
これにより、link = slreq.createLink(requirement,externalSource);
SID
が2
に設定された要件のテスト ケースcounterStartsAtZero
としてリンクが作成されます。要件エディターで、リンクが [リンク] 、 [確認者] セクションに表示されます。
検証ステータスの表示
要件セットの検証ステータスを更新して、Excel® の状態ログに基づいて counterStartsAtZero
テスト ケースの検証情報を更新します。
[リフレッシュ] をクリックして、要件エディターで検証ステータスを更新できます。要件セット全体についての検証ステータスが表示されるよう、[列] +
、 [検証ステータス] が選択されていることを確認します。
検証ステータスは、3 つの要件のうち 1 つが検証されたことを示しています。
MATLAB コマンド プロンプトで次のように入力して、検証ステータスを更新して現在のステータスを取得することもできます。
updateVerificationStatus(reqSet) status = getVerificationStatus(reqSet)
MATLAB ユニット テスト ケースからの結果の統合
テスト スクリプトにリンクすることで、MATLAB ユニット テスト ケースの結果を統合することもできます。テストは、JUnit 出力を生成する XML プラグインを用いるカスタマイズされたテスト ランナーを使用して実行されます。XMLPlugin
クラスは、テスト結果を XML ファイルに書き込むプラグインを作成します。詳細については、matlab.unittest.plugins.XMLPlugin.producingJUnitFormat
を参照してください。
テスト スクリプトを使用する場合と同じ方法でドメインを登録し、リンクを作成できます。