自定义测试规范报告
要自定义格式、部分顺序或从测试规范报告中删除内容,您必须首先创建测试用例或测试套件模板的副本。然后,您可以修改模板并将其应用于测试规范报告。您可以使用测试套件模板来测试套件和测试文件。要添加新内容,请创建一个新的报告器,然后指定新的孔来保存该内容。
注意
要自定义报告,您必须拥有 Simulink® Report Generator™ 许可证。
更新 PDF 或 HTML 报告
此示例为 PDF 报告创建一个新的测试用例报告器模板。使用此过程来删除内容或更改测试规范报告的格式或顺序。创建 HTML 输出模板和测试套件报告器模板的过程相同。
在当前工作文件夹中创建默认
TestCaseReporterPDF 模板的副本。此文件夹必须可写。对于 PDF 和 HTML 输出,sltest.testmanager.TestCaseReporter.createTemplate(... 'myCustomTCTemplate','pdf');
createTemplate创建一个包含模板文件和其他支持文件的压缩文件。对于 PDF 输出,文件扩展名是.pdftx,对于 HTML 输出,文件扩展名是.htmtx。要访问单独的模板文件,请解压缩 PDF 模板文件。
解压文件会在新的unzipTemplate('myCustomTCTemplate.pdftx');docpart_templates.html文件夹中创建一个/stylesheets/root.css文件和一个myCustomTCTemplate文件。PDF 和 HTML 报告都使用 HTML 模板文件。使用文本编辑器打开并编辑
docpart_templates.html文件。该文件按照内容在报告中出现的顺序列出了内容漏洞。生成报告时,内容空白将用相关数据填充。在此模板文件中,您可以重新排序报告部分并删除模板漏洞。该图显示了默认docpart_templates.html文件的一部分。
有关添加新内容漏洞的信息,请参阅 向报告添加内容。
在
stylesheets文件夹中,使用文本编辑器打开并编辑root.css文件。该文件控制报告部分的格式。您可以更改表格边框、字体大小、文本颜色和其他样式。例如,要将字体大小更改为 14 像素,请使用font-size: 14px;。字体大小设置显示在文件图像的第二部分。该图显示了默认root.css文件的一部分。
要了解有关修改报告样式的更多信息,请参阅修改 PDF 模板中的样式 (MATLAB Report Generator)。有关 HTML 样式的信息,请参阅 修改 HTML 模板中的样式 (MATLAB Report Generator)。
将步骤 1 中使用的文件夹中的文件压缩到
myCustomTCTemplate.pdftx文件中。zipTemplate('myCustomTCTemplate.pdftx');通过以下任一流程将自定义模板用于您的测试规范 PDF 报告:
使用
sltestmgr打开测试管理器,然后点击测试设定报告打开创建测试规范报告对话框。将myCustomTCTemplate.pdftx添加到测试用例报告器字段。使用
sltest.testmanager.TestSpecReport函数并指定myCustomTCTemplate.pdftx文件名作为输入参量。例如,使用此代码创建使用
AutopilotTestFile.mldatx测试文件的自定义模板的测试规范报告,openExample('GenerateATestSpecificationReportExample') testfile = 'AutopilotTestFile.mldatx'; sltest.testmanager.load(testfile); tfile = sltest.testmanager.TestFile(testfile); tsuites = getTestSuites(tfile); tcases = getTestCases(tsuites); sltest.testmanager.TestSpecReport(tcases,'testReport.pdf',... 'Author','John Smith','Title','Autopilot Test Spec Report',... 'LaunchReport',true,... 'TestCaseReporterTemplate','MyCustomTCTemplate.pdftx') sltest.testmanager.clear; sltest.testmanager.clearResults;
更新 Word 报告
此示例为 Microsoft® Word 报告创建一个新的测试用例报告器模板。使用此过程来删除内容或更改测试规范报告内容的格式或顺序。使用相同的流程创建测试套件报告器模板。
在当前工作文件夹中创建默认
TestCaseReporterWord 模板的副本。新文件具有 DOTX 文件扩展名。此示例在当前工作目录中创建一个myCustomTCTemplate.dotx测试用例报告器模板文件。要创建sltest.testmanager.TestCaseReporter.createTemplate(... 'myCustomTCTemplate','docx');
TestSuiteReporter,请改用sltest.testmanager.TestSuiteReporter.createTemplate。在 MATLAB 之外的当前工作文件夹中,右键点击
myCustomTCTemplate.dotx文件,然后点击打开。该文件看起来是空白的,但是已经定义了一些孔,只有打开 Quick Parts 后才可见。注意
如果双击文件名打开文件,它会打开 Word 文档文件而不是模板文件。
在插入选项卡的文本部分中,点击 Quick Parts。

在快速部件库中,点击测试用例报告器部分以使用报告的默认孔填充报告。

根据需要删除或移动孔。要更改孔的格式,请参阅 指定填补空位的文本的默认样式 (MATLAB Report Generator)。
选择模板中的所有内容并重新打开快速部件库,如步骤 3 所述。
在面板底部,点击 Save Selection to Quick Part Gallery。将打开“创建新构建基模块”对话框。
输入以下必需信息:
名称 - 快速部件库模块的名称。对于此示例,输入
TestCaseReporter。库 - 所选内容的类型。选择
Quick Parts。类别 - 内容类别。选择
mlreportgen。Save in - 模板文件的名称。对于此示例,选择
myCustomTCTemplate.dotx。选项 - 如何插入内容。选择
Insert Content only。
点击确定,然后点击是以确认您的更改。
将文件保存为 DOTX 文件。然后,您可以使用该文件作为测试用例规范报告的模板。
有关 Word 样式的信息,请参阅 修改 Microsoft Word 模板中的样式 (MATLAB Report Generator)。
向报告添加内容
要向 Word、PDF 或 HTML 测试规范报告添加新内容或覆盖添加内容的方式,请创建 sltest.testmanager.TestCaseReporter 或 sltest.testmanager.TestSuiteReporter 类的子类。然后在其类定义文件中添加新内容的属性和方法。在测试套件或测试用例模板中添加洞来保存该内容。
此示例描述了如何为测试规范报告创建新的测试用例报告器。使用相同的流程创建新的测试套件报告器。
要创建新的测试用例报告器类,请使用
TestCaseCreate报告器类的customizeReporter方法。此命令在当前工作文件夹中创建一个新的类文件夹。这个新的报告器继承自TestCaseReporter类。请参阅子类报告器定义 (MATLAB Report Generator)。customTCRptr = ... sltest.testmanager.TestCaseReporter.customizeReporter... ('@myTCReporter');@myTCReporter文件夹有一个myTCReporter.m类定义文件和一个resources文件夹。resources文件夹包含一个templates文件夹,其中包含报告输出类型的文件夹和文件:pdf文件夹default.pdftx- 压缩的 PDF 模板文件。使用unzipTemplate(MATLAB Report Generator) 解压缩此文件,然后使用文本编辑器打开模板文件。编辑后,使用zipTemplate(MATLAB Report Generator)。
docx文件夹default.dotx- Word 模板文件。在 MATLAB® 之外,通过右键点击并从上下文菜单中选择打开来打开此模板文件。如果点击文件名将其打开,则会打开与模板关联的 Word 文件而不是模板文件。请参阅打开模板文件 (MATLAB Report Generator)。
html文件夹default.htmt- 单文件 HTML 模板。使用文本编辑器打开此文件。default.htmtx- 压缩的 HTML 模板文件。使用unzipTemplate(MATLAB Report Generator) 解压缩此文件,然后使用文本编辑器打开模板文件。编辑后,使用zipTemplate(MATLAB Report Generator) 压缩文件。
有关模板的信息,请参阅 模板 (MATLAB Report Generator)。
在
@myTCReporter文件夹中,在文本编辑器中打开类定义文件myTCReporter.m。
要添加新内容,请在自定义类定义文件中添加
property并使用该属性对应的get方法。然后将孔添加到输出类型模板。例如,对于名为 References 的新部分,此myTCReporter.m类定义文件显示添加的References属性和定义的getReferences方法。
将
<hole id="References">REFERENCES</hole>添加到所需位置的模板文件中,以将孔内容包含到针对每种输出类型的生成报告中。请参阅在 HTML 和 PDF 模板中添加空位 (MATLAB Report Generator)和在 Microsoft Word 模板中添加空位 (MATLAB Report Generator)。要覆盖现有方法,请在自定义类定义文件中添加一个函数,为该洞定义
get方法。例如针对
TestCaseReporter中的TestDetails洞,在自定义的TestCaseReporter类定义文件中创建一个名为getTestDetails的方法。您不需要添加属性或孔,因为它们已经在自定义报告器继承的TestCaseReporter类中指定。要使用自定义报告器生成报告,请使用 Simulink Report Generator 命令。请参阅定义新报告器 (MATLAB Report Generator)。
这些示例命令为测试用例创建 PDF 报告。它使用
myTCReporter报告器,将测试用例数组 (test_cases) 作为输入对象。然后,代码将测试用例报告器对象添加到报告中并使用rptview(MATLAB Report Generator) 显示报告。代码将报告保存在myCustomTestSpecRpt.pdf文件中。myrpt = slreportgen.report.Report('myCustomTestSpecRpt.pdf'); testcaseRptr = myTCReporter('Object',test_cases); add(myrpt,testcaseRptr); close(myrpt); rptview(myrpt);