sltest.plugins.coverage.ModelCoverageReport class

Package: sltest.plugins.coverage

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

Description

mcr = sltest.plugins.coverage.ModelCoverageReport(path) creates mcr, a ModelCoverageReport that specifies the report folder path. Use a ModelCoverageReport to specify report properties when you run Simulink® Test™ test files run with the MATLAB® Unit Test framework.

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.

Construction

mcr = sltest.plugins.coverage.ModelCoverageReport(path) creates mcr, a ModelCoverageReport that specifies the report folder path.

You can also import the class, then use the name:

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

Input Arguments

expand all

The path of the folder in which the model coverage report is saved after the test is complete.

Example: 'results/reports/coverage/model'

Examples

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.

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

4. Create a Model Coverage Plugin.

Use the Prodcing 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.

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 RollAutopilotMdlRef/Roll Reference
    ./exReports/coverage/tpcebc8e31_4317_4152_89c6_f5cb9b83d579.html
ans = 
  TestResult with properties:

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

Totals:
   0 Passed, 1 Failed (rerun), 0 Incomplete.
   17.7967 seconds testing time.

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

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

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

Introduced in R2018b