Main Content

sltest.plugins.coverage.ModelCoverageReport class

Package: sltest.plugins.coverage
Superclasses: matlab.mixin.Heterogeneous

Specify model coverage report details for tests run with MATLAB Unit Test


Use the sltest.plugins.coverage.ModelCoverageReport class to specify coverage report details and file location for tests run with the MATLAB® Unit Test framework. If you have a license for Parallel Computing Toolbox™, you can use the ModelCoverageReport with parallel test execution.

The sltest.plugins.coverage.ModelCoverageReport class is a handle class.

Class Attributes


For information on class attributes, see Class Attributes.


mcr = sltest.plugins.coverage.ModelCoverageReport(path) creates a model coverage report created after the test runs. The input path specifies where the report is saved.

You can also import the plugin, then use the class name to create the object:

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

Use ModelCoveragePlugin to specify report properties before you run the test:

  1. Create a ModelCoverageReport.

  2. Create a ModelCoveragePlugin, and specify the ModelCoverageReport by using the Producing property.

  3. Add the ModelCoveragePlugin to the TestRunner.

  4. Run the test.


collapse all

This example shows how to specify model coverage report properties when running a Simulink® Test™ test file with MATLAB® Unit Test.

To run the example, set the current folder to a writable folder.

1. Import classes for the example.

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

2. Create a test suite and test runner.

Create a MATLAB Unit Test suite from AutopilotTestFile. Also create a test runner.

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

3. Specify the report location.

Create a subfolder in the current folder, and create a ModelCoverageReport object specifying the new folder.

path = './exReports/coverage';
mcr = ModelCoverageReport(path)
mcr = 
  ModelCoverageReport with no properties.

4. Create a Model Coverage Plugin.

Use the Producing property to specify the ModelCoverageReport when creating the plugin.

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

    RecordModelReferenceCoverage: '<default>'
                 MetricsSettings: '<default>'

5. Add the coverage plugin to the test runner, and run the test.


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

ans = 
  TestResult with properties:

          Name: 'AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test'
        Passed: 0
        Failed: 1
    Incomplete: 0
      Duration: 1.0815
       Details: [1x1 struct]

   0 Passed, 1 Failed, 0 Incomplete.
   1.0815 seconds testing time.

Cleanup. Remove temporary folder and clear variables. Enable warnings.

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


Version History

Introduced in R2018b