Main Content

Function-Based Unit Tests

Write tests using qualifications; customize test runner; select and run tests

Write function-based tests to check that the outputs of MATLAB® scripts, functions, or classes are as you expect. You can use a full library of qualification functions to produce four different types of test failures. For example, you can produce verification or fatal assertion test failures. Function-based tests subscribe to the xUnit testing philosophy.

To get started, see Write Function-Based Unit Tests and Write Simple Test Case Using Functions.

For more advanced test authoring, including using test parameterization and test fixtures, consider writing Class-Based Unit Tests.


functiontestsCreate array of tests from handles to local functions
runtestsRun set of tests
testsuiteCreate suite of tests
testrunnerCreate test runner
run (TestSuite)Run TestSuite array using TestRunner object configured for text output


TestSpecification of single test method
FunctionTestCaseTestCase used for function-based tests
TestResultResult of running test suite


Write Tests

Write Function-Based Unit Tests

Your test function is a single MATLAB file that contains a main function and your individual local test functions. Optionally, you can include file fixture and fresh fixture functions.

Write Simple Test Case Using Functions

Write function-based unit tests to determine the correctness of your program.

Write Test Using Setup and Teardown Functions

Write a function-based test with setup and teardown functions that run once in your test file and before and after each test function in the file.

Table of Verifications, Assertions, and Other Qualifications

Test values and respond to failures using verifications, assumptions, assertions, and fatal assertions.

Run Tests and Analyze Results

Run Tests in Editor

Run your tests while working in the Editor or Live Editor.

Run Tests for Various Workflows

Explore different ways to run tests.

Analyze Test Case Results

This example shows how to analyze the information returned by a test runner.

Analyze Failed Test Results

This example shows how to identify and handle failed tests.

Rerun Failed Tests

Rerun failed tests quickly and conveniently.

Dynamically Filtered Tests

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.

Extend Function-Based Tests

Access additional functionality using function-based tests, including application of fixtures, test selection, programmatic access of test diagnostics, and test runner customization.