Write xUnit-style tests to check that the output of MATLAB® code is as you expect. Class-based unit tests give you access to the full unit testing framework functionality. For example, you can write parameterized tests, tag your tests, or use shared test fixtures.
To get started, see Author Class-Based Unit Tests in MATLAB and Write Simple Test Case Using Classes.
runtests | Run set of tests |
testsuite | Create suite of tests |
run (TestSuite) | Run TestSuite array using TestRunner object
configured for text output |
run (TestRunner) | Run all tests in TestSuite array |
run (TestCase) | Run TestCase test |
matlab.unittest.TestCase | Superclass of all matlab.unittest test classes |
matlab.unittest.TestSuite | Class for grouping tests to run |
matlab.unittest.Test | Specification of single test method |
matlab.unittest.TestRunner | Class for running tests in matlab.unittest framework |
matlab.unittest.TestResult | Result of running test suite |
matlab.unittest | Summary of packages and classes in MATLAB Unit Test Framework |
matlab.unittest.qualifications | Summary of classes in MATLAB Qualifications Interface |
matlab.unittest.constraints | Summary of classes in MATLAB Constraints Interface |
matlab.unittest.diagnostics | Summary of classes in MATLAB Diagnostics Interface |
matlab.unittest.fixtures | Summary of classes in MATLAB Fixtures Interface |
matlab.unittest.parameters | Summary of classes associated with MATLAB Unit Test parameters |
matlab.unittest.plugins | Summary of classes in MATLAB Plugins Interface |
matlab.unittest.selectors | Summary of classes in MATLAB Selectors Interface |
Simulink.sdi.constraints.MatchesSignal | Constraint that compares time series data with tolerances using the Simulation Data Inspector |
Author Class-Based Unit Tests in MATLAB
To test a MATLAB program, write a unit test using qualifications that are methods for testing values and responding to failures.
Table of Verifications, Assertions, and Other Qualifications
Test values and respond to failures using verifications, assumptions, assertions, and fatal assertions.
Write Simple Test Case Using Classes
This example shows how to write a class-based unit test.
Write Setup and Teardown Code Using Classes
Setup and teardown code, or test fixtures, sets up the pretest state of the system and returns it to the original state after running the test. You can define setup and teardown methods that run before and after each test method or all test methods in a test class.
Use test tags to group tests into categories and then run tests with specified tags. Typical test tags identify a particular feature or describe the type of test.
Write Tests Using Shared Fixtures
You can share test fixtures across test classes. This example shows how to use shared fixtures when creating tests.
Use Parameters in Class-Based Tests
Use parameters to provide data that should be used iteratively by your tests.
Create Basic Parameterized Test
Test a function by creating a test that is parameterized in the
Test
methods
block.
Create Advanced Parameterized Test
Create a test that is parameterized in the TestClassSetup
,
TestMethodSetup
, and Test
methods
blocks.
Use External Parameters in Parameterized Test
Use data-driven testing to inject variable inputs into your parameterized test.
This example shows how to combine tests into test suites, whether they are organized in packages and classes or files and folders, or both.
Run your tests while working in the Editor or Live Editor.
Run Tests for Various Workflows
Explore different ways to run tests.
Programmatically Access Test Diagnostics
If you run tests with the runtests
function or the
run
method of TestSuite
or
TestCase
, the testing framework uses a
DiagnosticsRecordingPlugin
plugin that records diagnostics on
test results.
This example shows how to add a plugin to the test runner.
This example shows how to analyze the information returned by a test runner.
This example shows how to identify and handle failed tests.
Rerun failed tests quickly and conveniently.
Assumption failures produce filtered tests that are marked as Incomplete
instead of producing test failures. To avoid test code that is not executed, monitor the filtered tests.
Create a standalone application to run your tests on target machines that do not have MATLAB installed.