Main Content

matlab.unittest.plugins.XMLPlugin クラス

名前空間: matlab.unittest.plugins
スーパークラス: matlab.unittest.plugins.TestRunnerPlugin

テスト結果を XML ファイルに書き込むプラグイン

説明

matlab.unittest.plugins.XMLPlugin クラスは、テスト結果を XML ファイルに書き込むプラグインを提供します。

matlab.unittest.plugins.XMLPlugin クラスは handle クラスです。

作成

XMLPlugin のインスタンスを作成するには、静的メソッド producingJUnitFormat を使用します。

メソッド

すべて展開する

すべて折りたたむ

XMLPlugin クラスを使用して、テスト結果を JUnit スタイルの XML 形式で出力します。

現在のフォルダーに、sampleTest.m という名前の関数ベースのテスト ファイルを作成します。ファイルには、パスするテストが 2 つと失敗するテストが 1 つ含まれています。

function tests = sampleTest
tests = functiontests(localfunctions);
end

function testA(testCase)      % Test passes
verifyEqual(testCase,2+3,5)
end

function testB(testCase)      % Test fails
verifyGreaterThan(testCase,13,42)
end

function testC(testCase)      % Test passes
verifySubstring(testCase,"Hello World!","llo")
end

XMLPlugin クラスをインポートします。

import matlab.unittest.plugins.XMLPlugin

テスト結果を JUnit スタイルの XML 形式で出力するプラグインでテスト ランナーを作成します。プラグインの作成には producingJUnitFormat 静的メソッドを使用します。

runner = testrunner("minimal");
filename = "results.xml";
plugin = XMLPlugin.producingJUnitFormat(filename);
addPlugin(runner,plugin)

テスト ファイルからテスト スイートを作成し、テストを実行します。テスト ランナーでテストが実行され、プラグインにより、現在のフォルダー内の results.xml という名前のファイルにテスト結果が保存されます。

suite = testsuite("sampleTest.m");
run(runner,suite);

生成されたテスト アーティファクトの内容を表示します。ファイル内の結果は、testAtestC はパスしたが testB は検証エラーで失敗したことを示しています。

disp(fileread(filename))
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<testsuites>
  <testsuite errors="0" failures="1" name="sampleTest" skipped="0" tests="3" time="1.3417">
    <testcase classname="sampleTest" name="testA" time="0.38058"/>
    <testcase classname="sampleTest" name="testB" time="0.92769">
      <failure type="VerificationFailure">Verification failed in sampleTest/testB.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyGreaterThan failed.
    --&gt; The value must be greater than the minimum value.
    
    Actual Value:
        13
    Minimum Value (Exclusive):
        42
    ------------------
    Stack Information:
    ------------------
    In C:\work\sampleTest.m (testB) at 10</failure>
    </testcase>
    <testcase classname="sampleTest" name="testC" time="0.033431"/>
  </testsuite>
</testsuites>

バージョン履歴

R2015b で導入