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 code
.m file into the Test Manager, the test case appears and behaves the same as a test case created directly in the Test Manager. The only difference is that for a MATLAB-based Simulink test, you can select or change coverage collection and metrics only at the test file level, not at either the test suite or test case level.
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,
BaselineTest.m, has already been created and is provided with this example.
The test case file,
BaselineTest.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
Baseline Test File Contents
The class definition file,
classdef BaselineTest < sltest.TestCase
methods (Test) function testOne(testCase) testCase.loadSystem('sltestMATLABBasedTestExample'); evalin('base','gain2_var = 2.01;'); simOut = testCase.simulate('sltestMATLABBasedTestExample',... 'WithHarness','sltestMATLAbBasedTestExample_harness'); testCase.verifySignalsMatch(simOut,'baseline1.mat','AbsTol',0.015); end end
The file includes:
A test function named
testOne, which is in a
methodsblock that has the
testCase.loadSystemmethod to load the
Changes the value of the
gain2_varin the model to 2.01.
testCase.simulatemethod to simulate the model with the harness.
testCase.verifySignalsMatchmethod to compare the output of
simOut, to the baseline data MAT-file named
baseline1.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_varwas changed from its original value in the model.
Baseline Data File
The baseline data file,
baseline1.mat, has already been generated and is provided with this example. The baseline data file was created using this process:
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
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
The Test Manager populates the Test Browser with testOne from the
Set Up Coverage Collection
If you want to collect coverage for the test, select the BaselineTest file. In the Coverage Settings section, select the Coverage to Collect and the Coverage Metrics. If you want to collect coverage for the test, select the test file,
BaselineTest, in the Test Browser pane. In the Coverage Settings section, select a Coverage to Collect option and Coverage Metrics options.
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
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.
4. If you collected coverage, select the Baseline Test test file and view the Aggregated Coverage Results section.
4. If you collected coverage, select the
BaselineTest test file and view the Aggregated Coverage Results section.
Clear and close the Test Manager
sltest.testmanager.clear sltest.testmanager.clearResults sltest.testmanager.close