自定义测试结果报告

您可以通过自定义报告选择如何格式化和聚合测试结果。使用sltest.testmanager.TestResultReport类创建子类,然后使用属性和方法自定义Test Manager生成结果报告的方式。您可以更改字体样式、添加图形、将结果组织到表中、包括模型图像等等。使用自定义类,需要MATLAB®报表生成器™许可证。

继承报表类

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

%类定义classdefCustomReport < sltest.testmanager.TestResultReport%报告自定义代码结束

方法层次结构

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

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

测试套件结果块包含测试套件结果表、覆盖率表、需求链接和指向目录的链接。

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

修改的类

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

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

%类定义classdefCustomReport < sltest.testmanager.TestResultReport方法功能this = CustomReport(resultObjects, reportFilePath) this@sltest.testmanager.TestResultReport(resultObjects,...reportFilePath);结束结束方法(访问=保护)功能addTitlePage(obj)导入mlreportgen.dom。*%添加自定义消息标签=文本('可以在此处添加一些自定义内容'); 附加(对象标题部分、标签);%调用超类方法以获取默认行为addTitlePage@sltest.testmanager.TestResultReport (obj);结束结束结束
点击在这里查看此示例的代码文件。

对生成的报告进行更复杂的修改是包含测试过的模型的快照。

%类定义classdefCustomReport < sltest.testmanager.TestResultReport方法功能this=CustomReport(resultObjects,reportFilePath)this@sltest.testmanager.TestResultReport(resultObjects,reportFilePath);结束结束方法(访问=保护)在报告中定制测试用例/迭代结果部分的方法功能docPart=gentestcasesultblock(对象,结果)% result:包含测试用例或迭代结果的结构进口mlreportgen.dom。*%调用超类方法以获取默认行为docPart = genTestCaseResultBlock@sltest.testmanager.TestResultReport (...obj,结果);%获取用于放入报告的测试用例结果数据tcrObj = result.Data;%在测试用例结果级别插入模型屏幕截图如果isa(tcrObj,'sltest.testmanager.TestCaseResult'%初始化模型名型号名称=''%检查测试用例结果,如果它有模型信息。如果%不是,这意味着在测试用例或%模型没有被使用。testSimMetaData=tcrObj.SimulationMetaData;如果(~isempty(testSimMetaData))modelName=testSimMetaData.modelName;结束获得迭代结果iterResults = getIterationResults (tcrObj);%在测试用例有迭代的情况下获取模型名称如果(~isempty(iterResults)) modelName = iterResults(1).SimulationMetaData.modelName;结束%插入模型快照。这对脊甲不起作用。与最小的变化我们也可以打开挽具使用%测试。如果(~ isempty (modelName))尝试open_system (modelName);[tempdir, modelName,“.png”];如果存在(输出文件名,“文件”删除(outputFileName);结束打印(输出文件名,“-s”“-dpng”); para=sltest.testmanager.ReportUtility.genimageparation(...outputFileName,...“5.2”“3.7英寸”); 附加(文件部分,第2段);结束结束结束结束结束结束
点击在这里查看此示例的代码文件。

使用自定义类生成报告

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

%从导入的数据生成结果集结果=sltest.testmanager.importResults(“demoResults.mldatx”);%指定报告文件名和路径filePath ='testreport.zip'%使用自定义类生成报告sltest.testmanager.report(结果、文件路径、,...“作者”“MathWorks”...“头衔”“测试”...“IncludeMLVersion”,真的,...“包括结果”int32 (0)...“CustomReportClass”“客户报告”...“LaunchReport”,真正的);

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

另请参阅

|

相关话题