exponenta event banner

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

Связанные темы