Чтобы протестировать программу 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.Verifiable |
Предположения | Используйте эту проверку, чтобы гарантировать, что тестовые прогоны только, когда определенным предусловиям удовлетворят. Однако запущение теста, не удовлетворяя предусловиям не производит непройденный тест. Когда отказ предположения происходит, среда тестирования отмечает тест, как отфильтровано. | 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
и тесты записи Используя разделяемые фиксаторы.
Способность создать пользовательские испытательные стенды. Для получения дополнительной информации смотрите, Создают Основной Пользовательский прибор и Создают Усовершенствованный Пользовательский прибор.