Способы записать модульные тесты

Чтобы вести разработку программного обеспечения и монитор для регрессий в функциональности кода, можно записать модульные тесты на программы. MATLAB® поддержка платформы модульного тестирования три теста авторские схемы:

  • Модульные тесты на основе скриптов: Запишите каждый модульный тест как отдельный участок файла тестового скрипта. Можно выполнить основные проверки, получить доступ к диагностике, которую среда записывает на результатах испытаний, совершенствуйте тестовый набор путем выбора тестов, которые вы хотите запустить, и настроить тестовый прогон путем создания и конфигурирования TestRunner объект.

  • Функциональные модульные тесты: Запишите каждый модульный тест как локальную функцию в тестовом файле функции. Функциональные тесты подписывают на xUnit тестирование философии. В дополнение к поддержке функциональности, обеспеченной тестами на основе скриптов, функциональные тесты предоставляют вам доступ к богатому набору тестовых функций авторской разработки. Например, можно использовать усовершенствованные функции проверки, включая ограничения, допуски и диагностический тест.

  • Основанные на классах модульные тесты: Запишите каждый модульный тест как Test метод в файле определения класса. В дополнение к поддержке функциональности, обеспеченной и функциональными тестами на основе скриптов, основанные на классах тесты предоставляют вам несколько усовершенствованных тестовых функций авторской разработки и предоставляют вам доступ к полной функциональности среды. Например, можно использовать совместно использованные испытательные стенды, параметрировать тесты и содержание теста повторного использования.

Test authoring schemes in order of increasing functionality: script-based tests, function-based tests, and class-based tests

Модульные тесты на основе скриптов

С тестами на основе скриптов вы можете:

  • Задайте переменные, чтобы совместно использовать среди тестов или предусловий, необходимых для тестов.

  • Выполните основные проверки с помощью 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.

Расширение среды модульного тестирования

Среда модульного тестирования обеспечивает, инструмент тестирования создает способность расширить тест, пишущий посредством пользовательских ограничений, диагностики, фиксаторов и плагинов. Например, можно создать пользовательский плагин и использовать его, чтобы расширить исполнителя тестов, когда вы запускаете свое на основе скриптов, функциональное, или модульные тесты, основанные на классах. Для получения дополнительной информации см. Расширение среды модульного тестирования.

Похожие темы