Main Content

本页采用了机器翻译。点击此处可查看英文原文。

自定义测试规范报告

要自定义格式、部分顺序或从测试规范报告中删除内容,您必须首先创建测试用例或测试套件模板的副本。然后,您可以修改模板并将其应用于测试规范报告。您可以使用测试套件模板来测试套件和测试文件。要添加新内容,请创建一个新的报告器,然后指定新的孔来保存该内容。

注意

要自定义报告,您必须拥有 Simulink® Report Generator™ 许可证。

更新 PDF 或 HTML 报告

此示例为 PDF 报告创建一个新的测试用例报告模板。使用此过程来删除内容或更改测试规范报告的格式或顺序。创建 HTML 输出模板和测试套件报告器模板的过程相同。

  1. 在当前工作文件夹中创建默认 TestCaseReporter PDF 模板的副本。此文件夹必须可写。

    sltest.testmanager.TestCaseReporter.createTemplate(...
       'myCustomTCTemplate','pdf');
    对于 PDF 和 HTML 输出,createTemplate 创建一个包含模板文件和其他支持文件的压缩文件。对于 PDF 输出,文件扩展名是 .pdftx,对于 HTML 输出,文件扩展名是 .htmtx

  2. 要访问单独的模板文件,请解压缩 PDF 模板文件。

    unzipTemplate('myCustomTCTemplate.pdftx');
    解压文件会在新的 myCustomTCTemplate 文件夹中创建一个 docpart_templates.html 文件和一个 /stylesheets/root.css 文件。PDF 和 HTML 报告都使用 HTML 模板文件。

  3. 使用文本编辑器打开并编辑 docpart_templates.html 文件。该文件按照内容在报告中出现的顺序列出了内容漏洞。生成报告时,内容空白将用相关数据填充。在此模板文件中,您可以重新排序报告部分并删除模板漏洞。该图显示了默认 docpart_templates.html 文件的一部分。

    有关添加新内容漏洞的信息,请参阅 向报告添加内容

  4. stylesheets 文件夹中,使用文本编辑器打开并编辑 root.css 文件。该文件控制报告部分的格式。您可以更改表格边框、字体大小、文本颜色和其他样式。例如,要将字体大小更改为 14 像素,请使用 font-size: 14px;。字体大小设置显示在文件图像的第二部分。该图显示了默认 root.css 文件的一部分。

    root.css file contents

    要了解有关修改报告样式的更多信息,请参阅Modify Styles in PDF Templates (MATLAB Report Generator)。有关 HTML 样式的信息,请参阅 Modify Styles in HTML Templates (MATLAB Report Generator)

  5. 将步骤 1 中使用的文件夹中的文件压缩到 myCustomTCTemplate.pdftx 文件中。

    zipTemplate('myCustomTCTemplate.pdftx');

  6. 通过以下任一流程将自定义模板用于您的测试规范 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 报告创建一个新的测试用例报告模板。使用此过程来删除内容或更改测试规范报告内容的格式或顺序。使用相同的流程创建测试套件报告模板。

  1. 在当前工作文件夹中创建默认 TestCaseReporter Word 模板的副本。新文件具有 DOTX 文件扩展名。此示例在当前工作目录中创建一个 myCustomTCTemplate.dotx 测试用例报告模板文件。

    sltest.testmanager.TestCaseReporter.createTemplate(... 
       'myCustomTCTemplate','docx');
    要创建 TestSuiteReporter,请改用 sltest.testmanager.TestSuiteReporter.createTemplate

  2. 在 MATLAB 之外的当前工作文件夹中,右键单击 myCustomTCTemplate.dotx 文件,然后点击打开。该文件看起来是空白的,但是已经定义了一些孔,只有打开 Quick Parts 后才可见。

    注意

    如果双击文件名打开文件,它会打开 Word 文档文件而不是模板文件。

  3. 插入选项卡的文本部分中,点击 Quick Parts

    Quick parts button

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

    Test case reporter quick part

  5. 根据需要删除或移动孔。要更改孔的格式,请参见 Specify Default Styles for Text That fill Holes (MATLAB Report Generator)

  6. 选择模板中的所有内容并重新打开快速部件库,如步骤 3 所述。

  7. 在面板底部,点击 Save Selection to Quick Part Gallery。将打开“创建新构建基模块”对话框。

  8. 输入以下必需信息:

    • 名称 — 快速部件库模块的名称。对于此示例,输入 TestCaseReporter

    • — 所选内容的类型。选择 Quick Parts

    • 类别 — 内容类别。选择 mlreportgen

    • Save in — 模板文件的名称。对于此示例,选择 myCustomTCTemplate.dotx

    • 选项 — 如何插入内容。选择 Insert Content only

      Create new building block dialog box

  9. 单击确定,然后点击以确认您的更改。

  10. 将文件保存为 DOTX 文件。然后,您可以使用该文件作为测试用例规范报告的模板。

有关 Word 样式的信息,请参阅 Modify Styles in Microsoft Word Templates (MATLAB Report Generator)

向报告添加内容

要向 Word、PDF 或 HTML 测试规范报告添加新内容或覆盖添加内容的方式,请创建 sltest.testmanager.TestCaseReportersltest.testmanager.TestSuiteReporter 类的子类。然后在其类定义文件中添加新内容的属性和方法。在测试套件或测试用例模板中添加洞来保存该内容。

此示例描述了如何为测试规范报告创建新的测试用例报告器。使用相同的流程创建新的测试套件报告器。

  1. 要创建新的测试用例报告器类,请使用 TestCaseCreate 报告器类的 customizeReporter 方法。此命令在当前工作文件夹中创建一个新的类文件夹。这个新的报告器继承自 TestCaseReporter 类。

    customTCRptr = ...
      sltest.testmanager.TestCaseReporter.customizeReporter...
      ('@myTCReporter');
    参见 Subclass Reporter Definitions (MATLAB Report Generator)

    @myTCReporter 文件夹有一个 myTCReporter.m 类定义文件和一个 resources 文件夹。resources 文件夹包含一个 templates 文件夹,其中包含报告输出类型的文件夹和文件:

    • pdf 文件夹

      • default.pdftx — 压缩的 PDF 模板文件。使用 unzipTemplate (MATLAB Report Generator) 解压缩此文件,然后使用文本编辑器打开模板文件。编辑后,使用 zipTemplate (MATLAB Report Generator)

    • docx 文件夹

      • default.dotx — Word 模板文件。在 MATLAB® 之外,通过右键单击并从上下文菜单中选择打开来打开此模板文件。如果点击文件名将其打开,则会打开与模板关联的 Word 文件而不是模板文件。参见 Open Template Files (MATLAB Report Generator)

    • html 文件夹

      • default.htmt — 单文件 HTML 模板。使用文本编辑器打开此文件。

      • default.htmtx — 压缩的 HTML 模板文件。使用 unzipTemplate (MATLAB Report Generator) 解压缩此文件,然后使用文本编辑器打开模板文件。编辑后,使用 zipTemplate (MATLAB Report Generator) 压缩文件。

    有关模板的信息,请参阅 Templates (MATLAB Report Generator)

  2. @myTCReporter 文件夹中,在文本编辑器中打开类定义文件 myTCReporter.m

    Class definition file for custom reporter

  3. 要添加新内容,请在自定义类定义文件中添加 property 并使用该属性对应的 get 方法。然后将孔添加到输出类型模板。例如,对于名为 References 的新部分,此 myTCReporter.m 类定义文件显示添加的 References 属性和定义的 getReferences 方法。

    Updated class definition file

    <hole id="References">REFERENCES</hole> 添加到所需位置的模板文件中,以将孔内容包含到针对每种输出类型的生成报告中。参见 Add Holes in HTML and PDF Templates (MATLAB Report Generator)Add Holes in Microsoft Word Templates (MATLAB Report Generator)

  4. 要覆盖现有方法,请在自定义类定义文件中添加一个函数,为该洞定义 get 方法。

    例如针对 TestCaseReporter 中的 TestDetails 洞,在自定义的 TestCaseReporter 类定义文件中创建一个名为 getTestDetails 的方法。您不需要添加属性或孔,因为它们已经在自定义报告器继承的 TestCaseReporter 类中指定。

  5. 要使用自定义报告器生成报告,请使用 Simulink Report Generator 命令。参见 Define New Reporters (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); 
    

相关主题