定制测试结果报告
您可以通过定制报告来选择如何格式化和聚合测试结果。使用sltest.testmanager.TestResultReport
类创建一个子类,然后使用属性和方法自定义Test Manager如何生成结果报告。您可以更改字体样式,添加图形,将结果组织到表格中,包括模型图像,等等。使用自定义类需要MATLAB®报告生成器™许可证。
继承报表类
要自定义生成的报表,您必须从sltest.testmanager.TestResultReport
类。从类继承之后,可以修改属性和方法。要继承类,将类定义部分添加到新的或现有的MATLAB脚本中。子类是您的自定义类名,继承自的超类是sltest.testmanager.TestResultReport
.有关创建子类的更多信息,请参见设计子类构造函数.然后,向继承的类或方法添加代码以创建定制。
%类定义classdefCustomReport < sltest.testmanager.TestResultReport%%这里报告定制代码%结束
方法的层次结构
创建子类时,派生类从类中继承方法sltest.testmanager.TestResultReport
类。报告的主体被分为三个主要组:结果集块、测试套件结果块和测试用例结果块。
结果集块包含结果集表、覆盖率表和到目录的链接。
测试套件结果块包含测试套件结果表、覆盖表、需求链接,以及到目录表的链接。
测试用例结果块包含测试用例和测试迭代结果表、覆盖表、需求链接、信号输出图、比较图、测试用例设置,以及到目录表的链接。
修改类
要插入自己的报告内容或更改生成的报告的布局,请修改继承的类方法。有关修改方法的一般信息,请参见修改继承的方法.
对生成的报告的一个简单修改可以是在标题页中添加一些文本。这里使用的方法是addTitlePage
.
%类定义classdefCustomReport < sltest.testmanager.TestResultReport方法函数this = CustomReport(resultObjects, reportFilePath) this@sltest.testmanager.TestResultReport(resultObjects,...reportFilePath);结束结束方法(访问=保护)函数addTitlePage (obj)导入mlreportgen.dom。*;添加自定义消息标签=文本(“可以在这里添加一些自定义内容”);追加(obj.TitlePart、标签);调用超类方法获取默认行为addTitlePage@sltest.testmanager.TestResultReport (obj);结束结束结束
生成的报告的一个更复杂的修改是包含被测试模型的快照。
%类定义classdefCustomReport < sltest.testmanager.TestResultReport方法函数this = CustomReport(resultObjects,reportFilePath) this@sltest.testmanager.TestResultReport(resultObjects,reportFilePath);结束结束方法(访问=保护)在报告中自定义测试用例/迭代结果部分的方法函数docPart = genTestCaseResultBlock(obj,result)result:包含测试用例或迭代结果的结构进口mlreportgen.dom。*;调用超类方法获取默认行为docPart = genTestCaseResultBlock@sltest.testmanager.TestResultReport(...obj,结果);获取放入报告的测试用例结果数据。tcrObj = result.Data;在测试用例结果级别插入模型截图如果isa (tcrObj“sltest.testmanager.TestCaseResult”)初始化模型名称modelName =”;签入测试用例结果,如果它有模型信息。如果不是,它意味着在测试用例中有迭代未使用%模型。testSimMetaData = tcrObj.SimulationMetaData;如果(~isempty(testSimMetaData)) modelName = testSimMetaData.modelName;结束%获得迭代结果iterResults = getIterationResults(tcrObj);在有迭代的测试用例中获取模型名称如果(~isempty(iterResults)) modelName = iterResults(1).SimulationMetaData.modelName;结束插入模型快照。这对马具不起作用。与%最小的变化我们也可以打开的利用%测试。如果(~ isempty (modelName))试一试open_system (modelName);outputFileName = [tempdir, modelName,“使用”];如果存在(outputFileName“文件”删除(outputFileName);结束打印(outputFileName“s”,“-dpng”);para = sltest.testmanager. reporttiity . genimage段落(...outputFileName,...“5.2”,“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”,真正的);
或者,您可以使用Test Manager报告对话框创建您的自定义报告。选择测试结果,单击报告按钮,并在“创建测试结果报告”对话框中指定自定义报告类。为了让Test Manager使用自定义报表类,类必须在MATLAB路径上。
另请参阅
sltest.testmanager.TestResultReport
|sltest.testmanager.report