Main Content

matlab.unittest.plugins.FailureDiagnosticsPlugin クラス

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

(非推奨) エラー発生時に診断を表示するプラグイン

matlab.unittest.plugins.FailureDiagnosticsPlugin は推奨されません。代わりに matlab.unittest.plugins.DiagnosticsOutputPlugin を使用してください。

説明

matlab.unittest.plugins.FailureDiagnosticsPlugin クラスは、テスト エラー発生時に診断を表示するプラグインを提供します。

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

作成

説明

plugin = matlab.unittest.plugins.FailureDiagnosticsPlugin は、テスト エラー発生時に診断を表示するプラグインを作成します。このプラグインはテキスト出力を画面に送ります。

plugin = matlab.unittest.plugins.FailureDiagnosticsPlugin(stream) は、指定された出力ストリームにデータを書き込むプラグインを作成します。

入力引数

すべて展開する

プラグインがテキスト出力を送る場所。matlab.automation.streams.OutputStream オブジェクトとして指定します。既定では、プラグインは出力を画面に送ります。

すべて折りたたむ

FailureDiagnosticsPlugin クラスを使用して、テスト エラー発生時に診断情報を表示します。

現在のフォルダー内の ExampleTest.m という名前のファイルに、ExampleTest クラスを作成します。このクラスには、失敗するテストと、パスする別のテストが含まれています。各テストでは、verifyEqual メソッドにオプションの文字列の診断情報が提供されます。

classdef ExampleTest < matlab.unittest.TestCase
    methods (Test)
        function testOne(testCase)  % Test fails
            testCase.verifyEqual(5,4,"Testing 5==4")
        end

        function testTwo(testCase)  % Test passes
            testCase.verifyEqual(5,5,"Testing 5==5")
        end
    end
end

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

import matlab.unittest.plugins.FailureDiagnosticsPlugin

ExampleTest クラスからテスト スイートを作成します。

suite = testsuite("ExampleTest");

プラグインがインストールされていない最小限のテスト ランナーを作成し、それを使用してテストを実行します。メッセージを表示しないランナーを使用するので、テストを実行してもテキストは出力されません。

runner = testrunner("minimal");
results1 = runner.run(suite);

そこで、テスト ランナーに FailureDiagnosticsPlugin インスタンスを追加し、テストを実行します。このプラグインにより、フレームワークはテスト エラー発生時に診断情報を表示できます。testOne が失敗すると、テキスト出力には失敗したテストに関するユーザー指定の診断情報、および追加のフレームワークの診断情報が含まれます。

runner.addPlugin(FailureDiagnosticsPlugin)
result2 = runner.run(suite);
================================================================================
Verification failed in ExampleTest/testOne.
    ----------------
    Test Diagnostic:
    ----------------
    Testing 5==4
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyEqual failed.
    --> The numeric values are not equal using "isequaln".
    --> Failure table:
            Actual    Expected    Error    RelativeError
            ______    ________    _____    _____________
                                                        
              5          4          1          0.25     
    
    Actual Value:
         5
    Expected Value:
         4
    ------------------
    Stack Information:
    ------------------
    In C:\work\ExampleTest.m (ExampleTest.testOne) at 4
================================================================================
Failure Summary:

     Name                 Failed  Incomplete  Reason(s)
    ==================================================================
     ExampleTest/testOne    X                 Failed by verification.

バージョン履歴

R2013a で導入

すべて折りたたむ

R2018b: 非推奨

matlab.unittest.plugins.FailureDiagnosticsPlugin クラスは推奨されません。代わりに matlab.unittest.plugins.DiagnosticsOutputPlugin クラスを使用してください。