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