Main Content

matlab.unittest.TestRunner.withNoPlugins

クラス: matlab.unittest.TestRunner
名前空間: matlab.unittest

プラグインなしで最小限のテスト ランナーを作成

説明

runner = matlab.unittest.TestRunner.withNoPlugins は、プラグインがインストールされていない最小限のサイレント テスト ランナーを作成し、それを matlab.unittest.TestRunner オブジェクトとして返します。返されるテスト ランナーは可能な限りシンプルなランナーであり、テキスト出力を生成しません。

このメソッドは、テスト ランナーを作成するときに、どのプラグインをランナーに追加するかを完全に制御する場合に使用します。

属性

Statictrue

メソッドの属性の詳細については、メソッドの属性を参照してください。

すべて展開する

最小限のランナーを作成し、そのランナーに XMLPlugin インスタンスを追加して、JUnit スタイルのテスト結果を生成します。

現在のフォルダー内の eyeTest.m という名前のファイルに、関数 eye をテストする関数ベースのテストを作成します。

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

function doubleClassTest(testCase)
actual = eye;
verifyClass(testCase,actual,"double")
end

function singleClassTest(testCase)
actual = eye("single");
verifyClass(testCase,actual,"single")
end

function uint16ClassTest(testCase)
actual = eye("uint16");
verifyClass(testCase,actual,"uint16")
end

function sizeTest(testCase)
expected = [7 13];
actual = eye(expected);
verifySize(testCase,actual,expected)
end

function valueTest(testCase)
actual = eye(42);
verifyEqual(testCase,unique(diag(actual)),1)    % Diagonal values must be 1
verifyEqual(testCase,unique(triu(actual,1)),0)  % Upper triangular values must be 0
verifyEqual(testCase,unique(tril(actual,-1)),0) % Lower triangular values must be 0
end

テストを実行するために、まずこの例で使用するクラスをインポートします。

import matlab.unittest.TestRunner
import matlab.unittest.plugins.XMLPlugin

eyeTest.m のテストからテスト スイートを作成します。

suite = testsuite("eyeTest.m");

プラグインなしでテスト ランナーを作成します。次のコードで、出力を生成しないサイレント ランナーを作成します。

runner = matlab.unittest.TestRunner.withNoPlugins;

次に、任意のプラグインを選択して追加できます。現在のフォルダー内のファイル myTestResults.xml に JUnit スタイルの XML 出力を書き込むプラグインを作成します。その後、テスト ランナーにプラグインを追加します。

xmlFile = "myTestResults.xml";
p = XMLPlugin.producingJUnitFormat(xmlFile);
addPlugin(runner,p)

テストを実行します。この例では、すべてのテストがパスします。

results = run(runner,suite);

生成されたアーティファクトの内容を表示します。

disp(fileread(xmlFile))
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<testsuites>
  <testsuite errors="0" failures="0" name="eyeTest" skipped="0" tests="5" time="0.25082">
    <testcase classname="eyeTest" name="doubleClassTest" time="0.015066"/>
    <testcase classname="eyeTest" name="singleClassTest" time="0.0042728"/>
    <testcase classname="eyeTest" name="uint16ClassTest" time="0.0046594"/>
    <testcase classname="eyeTest" name="sizeTest" time="0.013599"/>
    <testcase classname="eyeTest" name="valueTest" time="0.21322"/>
  </testsuite>
</testsuites>

バージョン履歴

R2013a で導入