Main Content

matlab.unittest.TestRunner.withTextOutput

クラス: matlab.unittest.TestRunner
パッケージ: matlab.unittest

コマンド ウィンドウ出力用の TestRunner オブジェクトの作成

構文

runner = matlab.unittest.TestRunner.withTextOutput
runner = matlab.unittest.TestRunner.withTextOutput(Name,Value)

説明

runner = matlab.unittest.TestRunner.withTextOutput は、TestRunner オブジェクトを作成します。このオブジェクトは MATLAB® コマンド ウィンドウからテストを実行するように設定され、runner に返されます。生成される出力には、テストの進行状況と、テスト失敗時の診断情報が含まれます。

runner = matlab.unittest.TestRunner.withTextOutput(Name,Value) は、1 つ以上の Name,Value のペア引数で指定された追加オプションをもつ TestRunner を作成します。たとえば、診断ログを除外する TestRunner を作成するには、matlab.unittest.TestRunner.withTextOutput('LoggingLevel',0) を指定します。

入力引数

すべて展開する

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: matlab.unittest.TestRunner.withTextOutput('OutputDetail',4) は、イベント詳細を最も詳細なレベルで表示します

TestRunner インスタンスに含まれる診断ログの最大詳細レベル。0 ~ 4 の整数値、matlab.unittest.Verbosity 列挙型オブジェクト、事前定義された列挙型メンバー名のいずれかに対応する string スカラーまたは文字ベクトルとして指定します。この TestRunner には、このレベル以下でログが作成された診断情報が含まれます。整数値は matlab.unittest.Verbosity 列挙型のメンバーに対応します。

既定では、TestRunner には matlab.unittest.Verbosity.Terse レベル (レベル 1) でログが作成された診断情報が含まれます。診断ログを除外するには、LoggingLevelVerbosity.None (レベル 0) に指定します。

診断ログとは、log (TestCase) メソッドまたは log (Fixture) メソッドの呼び出しによってテスト フレームワークに送る診断です。

数値表現列挙型メンバー名詳細レベルの説明
0None

情報なし

1Terse

最小限の情報

2Concise

中程度の情報量

3Detailed

ある程度の補足的な情報

4Verbose

多くの補足的な情報

イベント詳細の表示レベル。0 ~ 4 の整数値、または matlab.unittest.Verbosity 列挙オブジェクトとして指定します。matlab.unittest.Verbosity 列挙値のメンバーに対応する整数値、または事前定義された列挙型メンバー名のいずれかに対応する string スカラーまたは文字ベクトル。

TestRunner は、失敗したイベントとログが作成されたイベントを OutputDetail で指定された詳細情報とともに表示します。既定では、TestRunner は失敗したイベントとログが作成されたイベントを matlab.unittest.Verbosity.Detailed レベル (レベル 3) で表示し、テスト実行の進行状況を matlab.unittest.Verbosity.Concise レベル (レベル 2) で表示します。

数値表現列挙型メンバー名詳細レベルの説明
0None

情報なし

1Terse

最小限の情報

2Concise

中程度の情報量

3Detailed

ある程度の補足的な情報

4Verbose

多くの補足的な情報

すべて展開する

現在のインポート リストに matlab.unittest クラスを追加します。

import matlab.unittest.TestRunner
import matlab.unittest.TestSuite

TestSuite 配列を作成します。

suite = TestSuite.fromClass(?mypackage.MyTestClass);

コマンド ウィンドウへの出力を生成する TestRunner オブジェクトを作成します。

runner = TestRunner.withTextOutput;

% Run the suite
result = run(runner,suite)

現在の作業フォルダー ExampleLogTest.m 内のファイルに次のテスト クラスを作成します。

classdef ExampleLogTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)
            log(testCase,matlab.unittest.Verbosity.Detailed,'Starting Test')
            log(testCase,'Testing 5==5')
            testCase.verifyEqual(5,5)
            log(testCase,matlab.unittest.Verbosity.Verbose,'Test Complete')
        end
    end
end

コマンド プロンプトで、テストを実行します。

result = run(ExampleLogTest);
Running ExampleLogTest
.
Done ExampleLogTest
__________

詳細レベル 4 以下でログに記録されたメッセージを表示するテスト ランナーを作成し、テストを実行します。

import matlab.unittest.TestRunner
import matlab.unittest.TestSuite
suite = TestSuite.fromClass(?ExampleLogTest);
runner = TestRunner.withTextOutput('LoggingLevel',4);

results = runner.run(suite);
Running ExampleLogTest

[Detailed] Diagnostic logged (2018-04-12 12:53:47): Starting Test

[Concise] Diagnostic logged (2018-04-12 12:53:47): Testing 5==5

[Verbose] Diagnostic logged (2018-04-12 12:53:47): Test Complete
.
Done ExampleLogTest
__________