Чтобы протестировать программу MATLAB®, запишите модульный тест с помощью проверок, которые являются методами для тестирования значений и ответа на отказы.
Тестовый класс должен наследоваться matlab.unittest.TestCase
и содержать блок methods
с атрибутом Test
. Блок methods
содержит функции, каждая из которых является модульным тестом. Общее, основное определение класса следует.
%% Test Class Definition classdef MyComponentTest < matlab.unittest.TestCase %% Test Method Block methods (Test) % includes unit test functions end end
Модульный тест является методом, который определяет правильность модуля программного обеспечения. Каждый модульный тест содержится в блоке методов. Функция должна принять экземпляр TestCase
как входной параметр.
%% Test Class Definition classdef MyComponentTest < matlab.unittest.TestCase %% Test Method Block methods (Test) %% Test Function function testASolution(testCase) %% Exercise function under test % act = the value from the function under test %% Verify using test qualification % exp = your expected value % testCase.<qualification method>(act,exp); end end end
Проверки являются методами для тестирования значений и ответа на отказы. Эта таблица приводит типы проверок.
Верификации | Используйте эту проверку, чтобы произвести и записать отказы, не выдавая исключение. Остающийся тестовый прогон к завершению. | matlab.unittest.qualifications. Поддающийся проверке |
Предположения | Используйте эту проверку, чтобы гарантировать, что тестовые прогоны только, когда определенные предусловия будут удовлетворены. Однако запущение теста, не удовлетворяя предусловия не производит непройденный тест. Когда отказ предположения происходит, среда тестирования отмечает тест, как отфильтровано. | matlab.unittest.qualifications. Assumable |
Утверждения | Используйте эту проверку, чтобы гарантировать, что предусловиям текущего теста соответствуют. | matlab.unittest.qualifications. Assertable |
Критические утверждения | Используйте эту проверку, когда отказ в точке утверждения представляет остаток от текущего недопустимого метода тестирования, или состояние неисправимо. | matlab.unittest.qualifications. FatalAssertable |
Среда Модульного тестирования MATLAB предоставляет приблизительно 25 методов проверки для каждого типа проверки. Например, используйте verifyClass
или assertClass
, чтобы протестировать это, значение имеет ожидаемый класс, и используйте assumeTrue
или fatalAssertTrue
, чтобы протестировать, если фактическое значение верно. Для сводных данных методов проверки смотрите Типы Проверок.
Часто, каждая функция модульного теста получает фактическое значение путем осуществления кода, который вы тестируете, и задает связанное ожидаемое значение. Например, если вы тестируете функцию plus
, фактическим значением может быть plus(2,3)
и ожидаемое значение 5
. В тестовой функции вы передаете фактические и ожидаемые значения методу проверки. Например:
testCase.verifyEqual(plus(2,3),5)
Для примера теста основной единицы смотрите Запись Простой Тест Используя Классы.
Среда Модульного тестирования MATLAB включает несколько функций авторской разработки более усовершенствованных тестовых классов:
Setup и блоки методов отключения, чтобы неявно настроить предварительное состояние системы и возвращают его в исходное состояние после запущения тестов. Для примера тестового класса с настройкой и кодом отключения, см., что Написание кода для настройки и деинициализации Использует Классы.
Усовершенствованные функции проверки, включая прокси фактического значения, диагностический тест и ограничительный интерфейс. Для получения дополнительной информации смотрите matlab.unittest.constraints
и matlab.unittest.diagnostics
диагностика.
Параметризованные тесты, чтобы объединиться и выполнить тесты в заданных списках параметров. Для получения дополнительной информации смотрите, Создают Основной Параметризованный Тест и Создают Усовершенствованный Параметризованный Тест.
Готовые к использованию фиксаторы для обработки настройки и отключения часто используемых действий тестирования и для совместного использования фиксаторов между классами. Для получения дополнительной информации смотрите matlab.unittest.fixtures
и Тесты записи Используя Разделяемые Фиксаторы.
Способность создать пользовательские испытательные стенды. Для получения дополнительной информации смотрите, Создают Основной Пользовательский прибор и Создают Усовершенствованный Пользовательский прибор.