主要内容

matlab.unittest.plugins.OutputStream类

包裹:matlab.unittest.plugins.

接口确定发送文本输出的位置

描述

OutputStream.接口是一个抽象的接口类,您可以用作基类,以指定插件的位置引导其文本输出。要创建自定义输出流,实现一个打印正确处理格式化文本信息的方法测试框架传递给它。许多面向文本的插件接受OutputStream.实例可以可配置方式重定向其生成的文本。

matlab.unittest.plugins.outputstream.类是一个把握班级。

方法

展开所有

例子

崩溃

在当前文件夹中的一个文件中,创建一个名为tifigure.它将插件输出重定向到一个图形,并将其显示在图形中的列表框中。定义figurelistbox.分别将图形和句柄表示到列表框的属性。

Classdef.tofigure 属性(setaccess = private)图结束属性(Access = private) ListBox结束

你必须实施打印的任何子类的方法OutputStream.。在此示例中,该方法创建一个新图(如有必要),格式化传入文本,然后将其添加到输出流。

方法函数打印(流,FormatSpec,Varargin)%创建图如果isempty(stream.Figure) || ~ ishhandle (stream.Figure结束newstr = sprintf(formatspec,varargin {:});oldstr = strjoin(stream.listbox.string','\ n');%创建完整消息fullstr = strjoin([oldstr,newstr]);fullstrarray = strsplit(fullstr,'\ n''折叠梅米特斯'、假);%设置字符串和选择stream.listbox.string = fulsstrarray';stream.listbox.value = numel(fultstrarray);drawn结束结束

在A.方法私人访问,实现命名的辅助方法createFigure创建插件使用的图形和列表框。

方法(访问=私人)函数CreateFigure(Stream)Stream.figure = figure(......'名字''单元测试输出'......'windowstyle''停靠');Stream.ListBox = UIControl(......“父”,stream.figure,......“风格”'listbox'......'字符串',{},......“单位”'标准化'......“位置”,[.05 .05 .9 .9],......'max'2,......'fontname''monospaced'......'fontsize',13);结束结束结束

拯救tifigure.班级。现在,在当前文件夹中,创建一个名为的文件exampletest.m.包含以下测试类。当验证资格认证睾丸导致测试失败。的验证testtwo.通过。测试对应的测试testthree.通过而不产生输出。

Classdef.exampletest 方法(测试)函数testOne (testCase)%测试失败testcase.verifyequal(5,4,'测试5 == 4');结束函数testtwo(testcase)%测试通行证testcase.verifyequal(5,5,'测试5 == 5');结束函数testThree (testCase)%测试代码结束结束结束

在命令提示符下,从中创建一个测试套件excepletest.班级。

进口matlab.unittest.TestRunner进口matlab.unittest.plugins.diagnosticsvalidationplugin.套房= testsuite(“ExampleTest”);

创建一个将输出显示到命令窗口的测试运行器。

runner = testrunner.withtextoutput;

创建A.diagnosticsvalidationplugin.实例,该实例显式指定其输出应转换为使用tifigure.输出流。

插件= DiagnosticsValidationPlugin(tifigure);

将插件添加到运行器并运行测试。

runner.addplugin(plugin)结果= runner.run(套件);
运行ExampleTest  ================================================================================ 验证失败ExampleTest / testOne。---------------- 测试诊断 : ---------------- 测试5 = = 4  --------------------- 框架的诊断 : --------------------- verifyEqual失败了。——>使用“isequaln”时值不相等。——>失败表:实际RelativeError预期错误  ______ ________ _____ _____________ 5 4 1 0.25实际值:5期望值:4  ------------------ 堆栈信息 : ------------------ 在C: \ \ ExampleTest工作。在4米(ExampleTest.testOne)  ================================================================================ ...完成ExampleTest  __________ 失败失败总结:名字不完整的原因(s ) ================================================================== ExampleTest / testOne X验证失败。

只有测试失败才会输出到屏幕上。默认情况下,testrunner.withtextoutput.用A.DIPATOSTICSOUTPUTPLUGIN.要在屏幕上显示输出。

除了在屏幕上显示的默认文本输出,diagnosticsvalidationplugin.输出被引导到停靠图。该图显示了此文本。

---------------------------------------------------------------------测试5 == 4 ---------------------------测试诊断验证:---------------------------测试5 == 5

diagnosticsvalidationplugin.显示诊断信息,无论测试是否遇到失败条件。

介绍了R2014a