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 类。