Main Content

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

sltest.plugins.coverage.ModelCoverageReport 类

命名空间: sltest.plugins.coverage
超类: matlab.mixin.Heterogeneous

指定使用 MATLAB 单元测试运行的测试的模型覆盖率报告详细信息

描述

使用 sltest.plugins.coverage.ModelCoverageReport 类指定覆盖率报告详细信息以及使用 MATLAB® 单元测试框架运行的测试的文件名和位置。如果您拥有 Parallel Computing Toolbox™ 的许可证,则可以使用 ModelCoverageReport 进行并行测试执行。

sltest.plugins.coverage.ModelCoverageReport 类是 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅 类属性

创建对象

mcr = sltest.plugins.coverage.ModelCoverageReport 在测试运行后创建模型覆盖率报告。该报告使用默认名称并保存在当前工作文件夹中。

mcr = sltest.plugins.coverage.ModelCoverageReport(path) 使用默认名称并将报告保存在 path 指定的文件夹中。

mcr = sltest.plugins.coverage.ModelCoverageReport('ReportName',name) 使用指定的报告名称并附加模型名称,并将报告保存在当前工作文件夹中。例如,对于 HTML 报告,如果您将报告名称指定为 MyReport 并且正在测试的模型为 myModel,则报告名称为 MyReport_mymodel.html

mcr = sltest.plugins.coverage.ModelCoverageReport(path,'ReportName',name) 使用指定的报告名称并将报告保存在 path 指定的文件夹中。

您还可以导入插件,然后使用类名创建对象:

import sltest.plugins.coverage.ModelCoverageReport
mcr = ModelCoverageReport(path)

在运行测试之前使用 ModelCoveragePlugin 指定报告属性:

  1. 创建一个 ModelCoverageReport

  2. 创建一个 ModelCoveragePlugin,并使用 Producing 属性指定 ModelCoverageReport

  3. ModelCoveragePlugin 添加到 TestRunner

  4. 运行测试。

示例

全部折叠

此示例显示如何在使用 MATLAB® Unit Test 运行 Simulink® Test™ 测试文件时指定模型覆盖率报告属性。

1.导入示例的类。

import matlab.unittest.TestSuite
import matlab.unittest.TestRunner
import sltest.plugins.ModelCoveragePlugin
import sltest.plugins.coverage.ModelCoverageReport

2.创建测试套件和测试运行器。

AutopilotTestFile 创建 MATLAB 单元测试套件。还创建一个测试运行器。

ste = testsuite('RollRefTest_cov.mldatx');
trn = TestRunner.withNoPlugins;

3.指定报告位置和名称。

在当前文件夹中创建一个子文件夹,并创建一个指定新文件夹的 ModelCoverageReport 对象。

mkdir('./exReports/coverage');
path = './exReports/coverage';
mcr = ModelCoverageReport(path,'ReportName','RollRefCov');

4.创建模型覆盖率插件。

创建插件时使用 Producing 属性指定 ModelCoverageReport

mc = ModelCoveragePlugin('Producing',mcr)
mc = 
  ModelCoveragePlugin with properties:

    RecordModelReferenceCoverage: '<default>'
                 MetricsSettings: '<default>'
             ScopeToRequirements: 0

5.将覆盖率插件添加到测试运行器,并运行测试。

addPlugin(trn,mc);

% Turn off the command line warnings.
warning off Stateflow:cdr:VerifyDangerousComparison
warning off Stateflow:Runtime:TestVerificationFailed

run(trn,ste)
Coverage Report for RollAutopilotRevised/Roll Reference
    /tmp/Bdoc24a_2589924_3008987/tp8a7d4faf/simulinktest-ex59880991/exReports/coverage/RollRefCov.html
ans = 
  TestResult with properties:

          Name: 'RollRefTest_cov > Logged Data and Coverage/RollReference Timeseries Input'
        Passed: 1
        Failed: 0
    Incomplete: 0
      Duration: 7.6938
       Details: [1x1 struct]

Totals:
   1 Passed, 0 Failed, 0 Incomplete.
   7.6938 seconds testing time.

清理。删除临时文件夹并清除变量。启用警告。

warning on Stateflow:cdr:VerifyDangerousComparison
warning on Stateflow:Runtime:TestVerificationFailed

rmdir('./exReports','s');
clear('ste','trn','fldr','path','mcr','mc');

版本历史记录

在 R2018b 中推出

全部展开