Main Content

Using MATLAB-Based Simulink Tests in the Test Manager

This example shows how to create a MATLAB-based Simulink test, generate a baseline, and load, run, and view test results in the Test Manager. When you load a MATLAB-based Simulink test case .m file into the Test Manager, the test case appears and behaves the same as any test case created directly in the Test Manager.

This example using internal test harness sltestMATLABBasedTestExample_harnrss verifies the sltestMATLABBasedTestExample model against a generated baseline.

Baseline Test Class Definition File

The class definition file, Baseline.m, has already been created and is provided with this example.

The test case file, Baseline.m, is derived from sltest.TestCase, which in turn is derived from matlab.unittest.TestCase. All of the matlab.unittest.TestCase methods are also available as a part of sltest.TestCase.

Baseline Test File Contents

The class definition file, BaselineTest.m, contains:

classdef BaselineTest < sltest.TestCase
    methods (Test)
       function testOne(testCase)
           evalin('base','gain2_var = 2.01;');
           simOut = testCase.simulate('sltestMATLABBasedTestExample',...

The file includes:

  • Inheritance from sltest.TestCase.

  • A test function named testOne, which is in a methods block that has the Test attribute.

The testOne function:

  • Uses the testCase.loadSystem method to load the sltestMATLABBasedTestExample model.

  • Changes the value of the gain2_var in the model to 2.01.

  • Uses the testCase.simulate method to simulate the model with the harness.

  • Uses the testCase.verifySignalsMatch method to compare the output of simulate, simOut, to the baseline data MAT-file named baselineOne.mat. It also sets an absolute tolerance. If you remove the tolerance setting from the file before running the test, the test fails because the value of gain2_var was changed from its original value in the model.

Baseline Data File

The baseline data file, baselineOne.mat, has already been generated and is provided with this example. The baseline data file was created using this process:

1. Use runtests('BaselineTest/testOne','GenerateBaselines',true').

2. After the baseline test runs, a Simulation Data Inspection report shows the output from the signals. View the Actual Results in the report and approve the baseline data. The data is saved in a MAT-file, which for this example is named baselineOne.mat.

Open the MATLAB-based Simulink Test in the Test Manager

1. Open the Test Manager.


2. In the Test Manager, click Open and select Open MATLAB-based Simulink Test (.m).

3. In the Open File dialog box, select BaselineTest.m.

The Test Manager populates the Test Browser with testOne from the BaselineTest.m file.

Run and Visualize the Results in the Test Manager

1. Click Run to execute the test.

2. After the test completes, expand all rows in the Results and Artifacts pane. Notice that testOne passes.

3. To view the data comparison, select Out2:1 under testOne > Simulation Output Comparison Results. The simulation and baseline signals match within the specified tolerance.