主要内容

自定义测试结果报告

您可以通过自定义报告来选择如何格式化和聚合测试结果。使用sltest.testmanager.TestResultReportclass创建子类,然后使用属性和方法来自定义测试管理器如何生成结果报告。您可以更改字体样式,添加图形,将结果组织成表格,包括模型图像等。使用自定义类,需要一个马铃薯®报告生成器™执照。

继承报告类

要自定义生成的报告,必须继承来自的sltest.testmanager.TestResultReport类。继承类后,您可以修改属性和方法。要继承类,请将类定义部分添加到新的或现有的matlab脚本。子类是您的自定义类名,以及您继承的超级类sltest.testmanager.TestResultReport。有关创建子类的更多信息,请参阅设计子类构造函数。然后,将代码添加到继承的类别或方法中以创建自定义。

%类定义Classdef.customreport %报告​​定制代码结尾

方法的层次结构

创建子类时,派生类继承了来自的方法sltest.testmanager.TestResultReport类。报告的主体被分成三个主要组:结果集块、测试套件结果块和测试用例结果块。

结果集块包含结果集表,覆盖表和目录的链接。

测试套件结果块包含测试套件结果表、覆盖表、需求链接,以及到目录表的链接。

测试用例结果块包含测试用例和测试迭代结果表,覆盖表,要求链接,信号输出绘图,比较图,测试用例设置以及到内容表的链接。

修改类

要插入自己的报表内容或更改生成的报告的布局,请修改继承的类方法。有关修改方法的一般信息,请参阅修改继承的方法

对生成的报告的简单修改可以是将一些文本添加到标题页面。这里使用的方法是addtitlepage

%类定义Classdef.customreport 方法函数这= customreport(结果objects,reportfilepath)the@sltest.testmanager.testresultreport(结果objects,......exportFilepath);结尾结尾方法(访问=受保护)函数addTitlePage (obj)导入mlreportgen.dom。*;%添加自定义消息标签=文本('可以在这里添加一些自定义内容');追加(obj.TitlePart、标签);%调用超类方法以获得默认行为addtitlepage@sltest.testmanager.testresultreport(obj);结尾结尾结尾
点击在这里对于此示例的代码文件。

生成报告的更复杂修改是包括测试的模型的快照。

%类定义Classdef.customreport 方法函数this = CustomReport(resultObjects,reportFilePath) this@sltest.testmanager.TestResultReport(resultObjects,reportFilePath);结尾结尾方法(访问=受保护)%方法在报告中自定义测试用例/迭代结果部分函数docPart = genTestCaseResultBlock (obj,结果)%结果:包含测试用例或迭代结果的结构进口mlreportgen.dom。*;%调用超类方法以获得默认行为docpart = gentestcaseresultblock@sltest.testmanager.testresultreport(......OBJ,结果);%获得测试案例结果数据,以便放入报告中tcrobj =结果.data;%在测试用例结果级别插入模型截图如果isa (tcrObj“sltest.testmanager.TestCaseResult”初始化模型名modelName ='';如果具有模型信息,%检查测试用例结果。如果%不是,这意味着在测试用例中有迭代或%模型未被使用。testSimMetaData = tcrObj.SimulationMetaData;如果(~isempty(testSimMetaData)) modelName = testSimMetaData.modelName;结尾%获得迭代结果iTerresults = getTerationResults(TCROBJ);%在有迭代的用例测试用例中获取模型名称如果(〜isempty(iTerresults))modelname = iTerresults(1).simulationmetadata.modelName;结尾%插入模型快照。这将不适用于束缚。和%最小的变化我们也可以打开用于使用的线束%测试。如果(〜isempty(modelname))试一试Open_System(ModelName);outputfilename = [tempdir,modelname,“使用”];如果存在(outputFileName'文件')删除(outputfilename);结尾打印(outputFileName“s”“-dpng”);帕拉= sltest.testmanager.ReportUtility.genImageParagraph (......outputFileName,......'5.2in'“3.7”);追加(docPart, para);抓住结尾结尾结尾结尾结尾结尾
点击在这里对于此示例的代码文件。

使用自定义类生成报告

自定义类和方法后,使用sltest.testmanager.report生成报告。你必须使用'customreportclass'定制类的名称值对,指定为字符串。例如:

%从导入的数据生成结果集结果= sltest.testmanager.importResults (“demoResults.mldatx”);%指定报表文件名和路径FILEPATH =.“testreport.zip”;%使用自定义类生成报告filePath, sltest.testmanager.report(结果......'作者''mathworks'......“标题”'测试'......'IncludeMlversion',真的,......“IncludeTestResults”,int32(0),......'customreportclass'“CustomReport”......'launchreport', 真的);

或者,您可以使用“测试管理器报告”对话框创建自定义报告。选择一个测试结果,单击报告在ToolStrip上的按钮,并在“创建测试结果报告”对话框中指定自定义报告类。对于测试管理器使用自定义报告类,类必须位于MATLAB路径上。

也可以看看

|

相关的话题