主要内容

matlab.unittest.plugins.TestReportPlugin类

包:matlab.unittest.plugins

插件产生测试结果报告

描述

testreportplugin创建一个插件来指导TestRunner生成测试结果报告。使用此插件,您可以生成可读和存档的测试报告。

建设

实例化一个testreportplugin使用其静态方法之一:

  • 产生一个。docx报告中,使用producingDOCX静态方法。

  • 产生一个. html报告中,使用produtehtml.静态方法。

  • 产生一个PDF报告中,使用producingPDF静态方法。

属性

展开全部

此属性是只读的。

指示符,如果包含命令窗口的文本输出,指定为错误的真正的逻辑0或1)。默认情况下,IncludeCommandWindowText.错误的命令窗口的文本输出将从报告中排除。要在报告中包含命令窗口文本,请指定IncludeCommandWindowText.作为真正的在插件结构期间。

此属性是只读的。

指示符是否包含传递事件的诊断,指定为错误的真正的逻辑0或1)。默认情况下,IncludePassingDiagnostics错误的通过传递事件的诊断从输出中排除。将诊断包括在输出中传递事件,指定IncludePassingDiagnostics作为真正的在插件结构期间。

此属性是只读的。

插件包含的Logged Diagnostics的最大冗长级别,作为a返回matlab.unittest.Verbosity枚举对象。该插件包括在此级别及以下记录的诊断。默认情况下,此属性值为matlab.unittest.Verbosity.Terse.您可以在插件构建期间指定一个不同的日志级别。

日志诊断是通过调用日志(testcase)日志(夹具)方法。

方法

producingDOCX 构造生产的插件。docx报告
produtehtml. 构造生产的插件. html报告
producingPDF 构造生产的插件. pdf报告

复制语义

处理。要了解如何处理复制操作的句柄类,请参阅复制对象

例子

全部收缩

从两个测试文件创建一个测试套件,运行该套件,并生成一个。docx结果报告。

在命名的工作文件夹中创建一个新文件ScriptBasedTest.m包含以下测试脚本。该脚本包括两个失败的和未完成的测试。

%%测试双级expSolution ='双倍的';actSolution = 1;断言(ISA(Actsolution,Expsolution))%%测试单个类expSolution ='单身的';Actsolution =那些('单身的');断言(ISA(Actsolution,Expsolution))%% Test uint16 classexpSolution ='uint16';Actsolution =那些('uint16');断言(ISA(Actsolution,Expsolution))%%测试失败断言(错误= = true);%%失败的另一个测试断言(strcmp ('相关性''因果关系'))

创建一个名为ClassBasedTest.m包含以下测试类。

classdefClassBasedTest < matlab.unittest.TestCase属性(ClassSetupParameter)生成器= {“旋风”'幸福的陪审''multifibonacci'};结束属性(profetysetupparameter)种子= {0,123,4294967295};结束属性(TestParameter) dim1 = struct('小的',1,“媒介”2,“大”3);dim2 =结构('小的'2,“媒介”,3,“大”,4);dim3 = struct('小的',3,“媒介”,4,“大”5);类型= {'单身的''双倍的'};结束方法(TestClassSetup)功能ClassSetup(testCase,generator) orig = rng;testCase.addTeardown (@rng源自)rng(0,发电机)结束结束方法(TestMethodSetup)功能MethodSetup(testCase,seed) origin = rng;testCase.addTeardown (@rng源自)rng(种子)结束结束方法(测试,ParameterCombination ='顺序'功能TestSize(TestCase,DIM1,DIM2,DIM3)TestCase.verifySize(RAND(DIM1,DIM2,DIM3),[DIM1 DIM2 DIM3])结束结束方法(测试,ParameterCombination =“成对”功能teststrepeatable (testCase,dim1,dim2,dim3) state = rng;firstRun =兰德(dim1 dim2 dim3);rng(state) secondRun = rand(dim1,dim2,dim3); / /运行状态testCase.verifyEqual (firstRun secondRun);结束结束方法(测试)功能testClass(testCase,DIM1,DIM2,类型)TestCase.verifyClass(RAND(DIM1,DIM2,类型),类型)结束结束结束

在命令提示符处,从两个测试文件创建一个测试套件。

进口matlab.unittest.testrunner.;进口matlab.unittest.TestSuite;进口matlab.unittest.plugins.testreportplugin.;套房= testsuite({“ScriptBasedTest”“ClassBasedTest”})
suite = 1×284带有属性的测试数组:Name ProcedureName TestClass BaseFolder Parameterization SharedTestFixtures Tags Tests Include: 17 Unique Parameterizations, 0 SharedTestFixture Classes, 0 Tags

创建一个静默的测试旋流器,以便在命令窗口中没有信息输出。创建一个testreportplugin将输出发送到文件MyTestReport.docx

赛跑者= testrunner.withnoplugins;docxfile ='mytestreport.docx';plugin = testReportplugin.ProdpodDocx(DocXFile);

将插件添加到TestRunner然后运行套房。

runner.addPlugin(插件);结果= runner.run(套件)
生成报告。请稍等。准备报告内容。向报告中添加内容。撰写报告存档。报告已经保存到:C:\work\MyTestReport.docx result = 1×284 TestResult数组,属性为:Name Passed Failed Incomplete Duration Details总计:282 Passed, 2 Failed, 2 Incomplete. 0.73477秒测试时间。

打开测试报告。

打开(docxFile)

从基于功能的测试创建测试套件,运行该套件,并生成结果报告。包括向命令窗口传递诊断信息和文本输出。

在命名的工作文件夹中创建一个新文件FunctionBasedTest.m包含以下基于函数的测试。测试文件包括两个失败的测试。

%%生成测试的主要函数功能测试= FunctionBasedTest测试= functiontests(localfunctions);结束% %测试函数功能通过测试的actSolution = 13*3+7*5;expSolution = 74;verifyEqual (testCase actSolution expSolution)结束功能failingTest(testCase) actSolution = single(1);verifyTrue (testCase actSolution)结束功能另一允许(testcase)verifyclass(testcase,string(“一些文本”),'细绳'结束功能anotherFailingTest (testCase) verifyTrue (testCase, strcmp (“42”'一切'))结束

在命令提示符处,创建一个测试套件FunctionBasedTest.m.创建一个测试运行程序,使用默认插件将输出显示到命令窗口。

进口matlab.unittest.testrunner.;进口matlab.unittest.TestSuite;进口matlab.unittest.plugins.testreportplugin.;套件= testsuite (“FunctionBasedTest”);跑步者= TestRunner.withTextOutput;

创建一个testreportplugin将输出发送到文件MyTestReport2.pdf.在报告中包括从命令窗口传递诊断信息和文本输出。

pdffile =“MyTestReport2.pdf”;插件= TestReportPlugin.producingPDF (pdfFile,...'包括广泛的迪涅斯蒂斯',真的,“IncludingCommandWindowText”,真正的);

将插件添加到TestRunner然后运行套房。

runner.addPlugin(插件);结果= runner.run(套);
FunctionBasedTest运行。================================================================================ 验证失败FunctionBasedTest / failingTest。--------------------- 框架的诊断 : --------------------- verifyTrue失败了。——>必须为逻辑值。它的类型是“单”。实际单:1  ------------------ 堆栈信息 : ------------------ 在C: \ \ FunctionBasedTest工作。在15米(failingTest)  ================================================================================ ..================================================================================ 验证失败FunctionBasedTest / anotherFailingTest。--------------------- 框架的诊断 : --------------------- verifyTrue失败了。——>该值必须为“true”。 Actual logical: 0 ------------------ Stack Information: ------------------ In C:\Work\FunctionBasedTest.m (anotherFailingTest) at 23 ================================================================================ . Done FunctionBasedTest __________ Failure Summary: Name Failed Incomplete Reason(s) =================================================================================== FunctionBasedTest/failingTest X Failed by verification. ----------------------------------------------------------------------------------- FunctionBasedTest/anotherFailingTest X Failed by verification. Generating report. Please wait. Preparing content for the report. Adding content to the report. Writing report to file. Report has been saved to: C:\Work\MyTestReport2.pdf

打开测试报告。

打开(PDFFILE)

在当前工作文件夹中的文件中,创建FigurePropTest测试类。如果失败测试方法失败(在这个例子中总是这样),它使用Figuredignostic.保存图形,以便稍后检查。

classdefFigurePropTest < matlab.unittest.TestCase属性TestFigure结束方法(TestMethodSetup)功能createFigure testCase (testCase)。TestFigure =图;结束结束方法(testmethodteardown)功能特写配置(testcase)关闭(testcase.testfigure)结束结束方法(测试)功能DefaultCurrentPoint(testCase)Cp = testcase.testfigure.crentpoint;testcase.verifyequal(cp,[0 0],...'默认当前点不正确'结束功能defaultCurrentObject (testCase)导入matlab.unittest.constraints.isusempty.有限公司= testCase.TestFigure.CurrentObject;testCase.verifyThat (co、IsEmpty...“默认当前对象应该为空”结束功能FAILTTEST(testcase)导入matlab.unittest.diagnostics.FigureDiagnostic无花果= testCase.TestFigure;ax =轴(图);冲浪(ax,山峰)testCase.verifyEmpty (testCase.TestFigure.Children,...Figuredignostic(testcase.testfigure))结束结束结束

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

套件= testsuite (“FigurePropTest”);

创建一个静默的测试旋流器,记录诊断并生成PDF报告。

进口matlab.unittest.plugins.DiagnosticsRecordingPlugin进口matlab.unittest.plugins.testreportplugin.runner = matlab.unittest.testrunner.withnoplugins;runner.addplugin(DiagnosticsRecordingPlugin);runner.addplugin(testreportplugin.prod pottingpdf(“MyTestReport.pdf”));

将默认工件root更改为当前工作文件夹。

跑步者。ArtifactsRootFolder = pwd;

运行测试。第三种测试失败了。

结果= runner.run(套件)
生成报告。请稍等。准备报告内容。向报告中添加内容。撰写报告存档。报告已保存为:c:\ work \ mytestreSteport.pdf结果= 1×3 testResult数组带有属性:名称通过失败不完整的持续时间细节总计:2传递,1失败,1失败,0不完整。1.2295秒测试时间。

显示第三次测试的测试诊断结果。测试框架保存与第三种测试相关的两个伪像。默认情况下,aFiguredignostic.对象将图形保存为PNG文件和FIG文件。

(3) .Details.DiagnosticRecord.TestDiagnosticResults结果
[1×2 matlab.unittest.diagnostics. properties:C:\work\715b5416-5c52-4a53- bbecl -837a5db57392\Figure_284d9501-2121-45a1-bf5c-18904ce11e8f。无花果↵——> C: \ \工作b5416 - 5 - 715 c52 - 4 - a53 bbec - 837 a5db57392 \ figure_284d9501 - 2121 - 45 - a1 - bf5c - 18904 - ce11e8f.png”

显示第一个工件的存储位置。

(3)结果.Details.DiagnosticRecord.TestDiagnosticResults.Artifacts (1)
名称:"Figure_284d9501-2121-45a1-bf5c-18904ce11e8f. "图"位置:"C:\work\715b5416-5c52-4a53-bbec-837a5db57392" FullPath: "C:\work\715b5416-5c52-4a53-bbec-837a5db57392\Figure_284d9501-2121-45a1-bf5c-18904ce11e8f.fig"

要检查与失败测试相关的图像,请在所示位置打开文件FullPath字段。另外,由于您生成了一个PDF测试报告,因此将捕获图像MyTestReport.pdf.测试报告还包含工件的路径。

介绍了R2016b