主要内容

matlab.unittest.plugins.DiagnosticsValidationPluginclass

包:matlab.unittest.plugins

插件来帮助验证诊断代码

描述

DiagnosticsValidationPlugin创建一个插件来帮助验证诊断代码。

添加DiagnosticsValidationPluginTestRunner确认用户提供诊断正确执行。这个插件非常有用,因为通常测试不遇到失败条件。失败会导致未执行诊断代码。如果存在于这个诊断代码编程错误,错误并不明显,除非测试失败。然而,在测试过程中,故障的诊断条件丢失由于错误诊断代码。

无条件使用这个插件来评估提供的诊断测试的作家,不管测试结果在“通过”或者“失败”状态。这种方法可以帮助你确认所有的诊断代码是免费的编程错误。

诊断分析可以减少测试性能和可能导致非常详细的文本输出。意识到这些影响在使用这个插件进行常规检测。

建设

matlab.unittest.plugins.DiagnosticsValidationPlugin创建一个插件来帮助验证诊断代码。

matlab.unittest.plugins.DiagnosticsValidationPlugin ()重定向所有的文本输出到输出流,。如果你不指定输出流,插件使用默认ToStandardOutput流。

输入参数

位置插件指导文本输出,指定为一个OutputStream

默认值:ToStandardOutput

复制语义

句柄。学习如何处理类影响复制操作,明白了复制对象

例子

全部折叠

在工作目录中,创建一个文件,ExampleTest.m,包含下面的测试类。在这个例子中,testThree方法有一个有意的错误。应该使用一个函数处理的方法dir函数作为一个FunctionHandleDiagnostic,但dir是拼写错误。

classdefExampleTest < matlab.unittest.TestCase方法(测试)函数testOne (testCase)%测试代码结束函数testTwo (testCase)%测试代码结束函数testThree (testCase)%以下应该使用@dir作为处理函数,%,但有一个错误testCase.verifyEqual (“myfile”,“myfile”@dri)结束结束结束

所有的测试ExampleTest.m导致传递状态,但有一个错误的诊断。

在命令提示符下,创建一个测试套件ExampleTest类。

进口matlab.unittest.TestRunner进口matlab.unittest.TestSuite进口matlab.unittest.plugins.DiagnosticsValidationPlugin套件= TestSuite.fromClass (? ExampleTest);

创建一个测试运行器配置文本输出。

跑步者= TestRunner.withTextOutput;

运行测试。

result1 = runner.run编写此表达式(套);
运行ExampleTest……完成ExampleTest __________

没有诊断输出显示,因为所有的测试通过。测试框架不遇到的错误FunctionHandleDiagnostictestThree

添加DiagnosticValidationPlugin跑步者和运行测试。

runner.addPlugin (DiagnosticsValidationPlugin) result2 = runner.run(套);
运行ExampleTest . .- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -验证测试诊断:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -获取诊断时发生错误:错误使用evalc dri的未定义的函数或变量。错误ExampleTest / testThree testCase(第12行)。verifyEqual (‘myfile’,‘myfile @dri);。完成ExampleTest __________

该框架执行提供的诊断FunctionHandleDiagnostic,即使没有一个测试失败。如果没有这个插件,测试框架只遇到错误,如果测试失败。