Чтобы управлять разработкой программного обеспечения и отслеживать регрессии в функциональных возможностях кода, можно написать модульные тесты для своих программ. Платформа модульного тестирования MATLAB ® поддерживает три схемы разработки тестов:
Модульные тесты на основе скриптов: каждый единичный тест записывается как отдельный раздел файла сценария теста. Можно выполнить базовую квалификацию, получить доступ к диагностике, которую платформа регистрирует по результатам тестирования, уточнить набор тестов, выбрав тесты, которые необходимо выполнить, и настроить тестовый запуск путем создания и настройки TestRunner объект.
Функциональные модульные тесты: запись каждого единичного теста как локальной функции в файл тестовых функций. Функциональные тесты соответствуют принципам тестирования xUnit. Помимо поддержки функциональных возможностей, обеспечиваемых тестами на основе сценариев, функциональные тесты предоставляют доступ к широкому набору функций разработки тестов. Например, можно использовать расширенные функции квалификации, включая ограничения, допуски и диагностику тестов.
Модульные тесты на основе классов: записывать каждый единичный тест как Test в файле определения класса. В дополнение к поддержке функциональных возможностей, обеспечиваемых тестами на основе сценариев и функций, тесты на основе классов предоставляют несколько расширенных функций разработки тестов и предоставляют доступ к полной функциональности платформы. Например, можно использовать общие тестовые приборы, параметризовать тесты и повторно использовать содержимое теста.

Тесты на основе сценариев позволяют:
Определите переменные для совместного использования тестами или предварительными условиями, необходимыми для тестов.
Выполнение базовых квалификаций с помощью assert функция. Например, можно использовать assert(isequal(actVal,expVal)) утверждать, что фактические и ожидаемые значения равны. (Расширенные функции квалификации поддерживаются только для тестов на основе функций и классов.)
Доступ к тестовой диагностике, записанной платформой. Дополнительные сведения см. в разделе Программный доступ к диагностике тестов. (Расширенные диагностические действия поддерживаются только для тестов на основе функций и классов.)
Как правило, с помощью тестов на основе сценариев создается тестовый файл и передается имя файла в runtests функция без явного создания набора Test элементы. При создании явного набора тестов (с помощью testsuite функции или метода matlab.unittest.TestSuite класс), существуют дополнительные функции, доступные в тестировании на основе сценариев. С явным набором тестов можно:
Уточните свой люкс, например, используя классы в matlab.unittest.selectors пакет. (Несколько селекторов применимы только для тестов на основе классов.)
Создать TestRunner и настройте его для выполнения тестов. Вы можете добавить классы плагинов в matlab.unittest.plugins пакет к испытательному питателю.
Дополнительные сведения о тестах на основе сценариев см. в разделах Тесты на основе сценариев и Расширенные тесты на основе сценариев.
Функциональные тесты поддерживают функциональность, обеспечиваемую тестами на основе сценариев. Кроме того, функциональные тесты позволяют:
Установите предустановленное состояние системы и верните его в исходное состояние после выполнения теста. Эти задачи можно выполнять один раз на тестовый файл или один раз на единичный тест. Дополнительные сведения см. в разделе Проверка записи с помощью функций установки и разлома.
Используйте классы приборов в matlab.unittest.fixtures пакет (с applyFixture метод) для управления настройкой и отрывом часто используемых действий тестирования.
Запись диагностической информации на определенном уровне детализации с помощью log способ.
Используйте полную библиотеку квалификаций в matlab.unittest.qualifications пакет. Чтобы определить, какую квалификацию использовать, см. Таблицу проверок, утверждений и других квалификаций.
Используйте расширенные функции квалификации, включая ограничения, прокси фактических значений, допуски и диагностику тестов. Можно использовать классы в matlab.unittest.constraints и matlab.unittest.diagnostics пакеты в вашей квалификации.
Дополнительные сведения о тестах на основе функций см. в разделах Тесты на основе функций записи и Расширенные тесты на основе функций.
Тесты на основе классов поддерживают функциональность, обеспечиваемую тестами на основе сценариев и функций. Кроме того, тесты на основе классов позволяют:
Используйте блоки методов setup и teardown, чтобы неявно настроить состояние среды pretest и вернуть его в исходное состояние после выполнения тестов. Дополнительные сведения см. в разделах Настройка записи и отрывной код с использованием классов.
Совместное использование приборов классами. Дополнительные сведения см. в разделе Тесты на запись с использованием общих приборов.
Сгруппируйте тесты по категориям, а затем запустите тесты с указанными тегами. Дополнительные сведения см. в разделе Теговые модульные тесты.
Запись параметризованных тестов для объединения и выполнения тестов по указанным спискам параметров. Дополнительные сведения см. в разделе Использование параметров в тестах на основе классов.
Используйте подклассирование и наследование для совместного использования и повторного использования содержимого теста. Например, можно повторно использовать параметры и методы, определенные в классе теста, путем деривации подклассов. Дополнительные сведения см. в разделе Иерархии классов - концепции.
Дополнительные сведения о тестах на основе классов см. в разделе Тесты на основе классов авторов в MATLAB.
Платформа модульного тестирования предоставляет авторам инструментальных средств тестирования возможность расширить запись теста с помощью пользовательских ограничений, диагностики, приборов и подключаемых модулей. Например, можно создать пользовательский подключаемый модуль и использовать его для расширения тестового питателя при выполнении тестов единиц измерения на основе сценариев, функций или классов. Дополнительные сведения см. в разделе Расширение структуры модульного тестирования.