Создание модульных тестов на основе классов в MATLAB

Чтобы протестировать программу 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 включает несколько функций авторской разработки более усовершенствованных тестовых классов:

Похожие темы