exponenta event banner

класс matlab.unittest.StartCase

Пакет: matlab.unittest

Суперкласс всех matlab.unittest классы тестирования

Описание

TestCase класс - это средство, с помощью которого тест записывается в matlab.unittest рамки. Он предоставляет средства для записи и идентификации содержимого теста, а также процедуры настройки и отрывного устройства. Создание такого теста требует получения TestCase для создания TestCase подкласс. Затем подклассы могут использовать атрибуты метаданных для определения тестов и тестовых приборов.

Строительство

Используйте forInteractiveUse статический метод для создания TestCase для интерактивного использования в командной строке. При выполнении тестов в инфраструктуре TestCase экземпляры создаются matlab.unittest.TestRunner.

Методы

addTeardownДинамически добавлять подпрограмму разрыва в TestCase случай
applyFixtureИспользовать приспособление с TestCase
forInteractiveUseСоздание Test Case для интерактивного использования
getSharedTestFixturesПредоставление доступа к общим испытательным приборам
регистрацияЗапись диагностической информации при выполнении теста
onFailureДинамически добавлять диагностику сбоев тестирования
управляемыйУправляемый TestCase тест

Унаследованные методы

TestCase класс наследует методы от следующих классов:

matlab.unittest.qualifications. AssertableКвалификация для проверки предварительных условий испытания
matlab.unittest.qualifications. AssumableКвалификация для фильтрации содержимого теста
matlab.unittest.qualifications. FatalAssertableКвалификация для прекращения выполнения теста
matlab.unittest.qualifications. Поддающийся проверкеКвалификация для создания условий мягкого отказа

Признаки

Атрибуты класса

TestCase объекты поддерживают следующие атрибуты уровня класса. Укажите атрибуты уровня класса в classdef блок перед именем класса.

SharedTestFixturesБлок класса, содержащий общие испытательные приборы. Необходимо определить SharedTestFixtures как массив ячеек matlab.unittest.fixtures.Fixture экземпляры.
TestTagsБлок класса, содержащий тесты, помеченные указанным значением. Необходимо определить TestTags как массив ячеек непустых символьных векторов или массив непустых строк, где каждый элемент является тегом для теста.

Атрибуты метода

Классы, производные от TestCase может определить methods блоки, содержащие matlab.unittest специфичные для платформы атрибуты для указания содержимого теста.

TestБлок методов, содержащий методы испытаний.
TestMethodSetupБлок методов, содержащий код установки.
TestMethodTeardownБлок методов, содержащий отрывной код.
TestClassSetupБлок методов, содержащий код настройки уровня класса.
TestClassTeardownБлок методов, содержащий код разрыва уровня класса.
ParameterCombination

Блок методов, содержащий параметризованный код тестирования. Этот атрибут принимает следующие значения:

  • 'exhaustive' (по умолчанию): Методы тестирования вызываются для всех комбинаций параметров.

  • 'sequential'Методы тестирования вызываются с соответствующими значениями каждого параметра. Каждый параметр должен содержать одинаковое количество значений.

  • 'pairwise'Методы тестирования вызываются для каждой пары значений параметров по крайней мере один раз.

TestParameterDefinitionБлок метода, содержащий код, инициализирующий свойства параметризации во время создания набора. Методы, определенные с помощью этого атрибута, должны быть статическими.
TestTagsБлок метода, содержащий тесты, помеченные указанным значением. Необходимо определить TestTags как массив ячеек непустых символьных векторов или массив непустых строк, где каждый элемент является тегом для теста.

Атрибуты свойства

Классы, производные от TestCase может определить properties блоки, содержащие matlab.unittest специфичные для платформы атрибуты для указания содержимого теста.

ClassSetupParameterБлок свойств для определения свойств параметризации для методов в TestClassSetup блок.
MethodSetupParameterБлок свойств для определения свойств параметризации для методов в TestMethodSetup блок.
TestParameterБлок свойств для определения свойств параметризации для методов в Test блок.

События

VerificationFailed

Срабатывает при неуспешной проверке. A QualificationEventData передается функциям обратного вызова прослушивателя.

VerificationPassed

Срабатывает при прохождении проверки. A QualificationEventData передается функциям обратного вызова прослушивателя.

AssertionFailed

Срабатывает при неудачном утверждении. A QualificationEventData передается функциям обратного вызова прослушивателя.

AssertionPassed

Срабатывает при прохождении утверждения. A QualificationEventData передается функциям обратного вызова прослушивателя.

FatalAssertionFailed

Срабатывает при неудачном роковом утверждении. A QualificationEventData передается функциям обратного вызова прослушивателя.

FatalAssertionPassed

Срабатывает при прохождении рокового утверждения. A QualificationEventData передается функциям обратного вызова прослушивателя.

AssumptionFailed

Срабатывает при неудачном предположении. A QualificationEventData передается функциям обратного вызова прослушивателя.

AssumptionPassed

Срабатывает при прохождении предположения. A QualificationEventData передается функциям обратного вызова прослушивателя.

ExceptionThrown

Инициируется TestRunner при возникновении исключения. Один ExceptionEventData передается функциям обратного вызова прослушивателя.

DiagnosticLogged

Инициируется TestRunner по звонку в log способ. A LoggedDiagnosticEventData передается функциям обратного вызова прослушивателя.

Примеры

свернуть все

Создайте класс тестового случая, FigurePropertiesTest, с TestMethodSetup и TestMethodTeardown методы.

classdef FigurePropertiesTest < matlab.unittest.TestCase
 
    properties
        TestFigure
    end
 
    methods(TestMethodSetup)
        function createFigure(testCase)
            testCase.TestFigure = figure;
        end
    end
 
    methods(TestMethodTeardown)
        function closeFigure(testCase)
            close(testCase.TestFigure)
        end
    end
 
    methods(Test)
 
        function defaultCurrentPoint(testCase)
 
            cp = testCase.TestFigure.CurrentPoint;
            testCase.verifyEqual(cp, [0 0], ...
                'Default current point is incorrect')
        end
 
        function defaultCurrentObject(testCase)
            import matlab.unittest.constraints.IsEmpty
 
            co = testCase.TestFigure.CurrentObject;
            testCase.verifyThat(co, IsEmpty, ...
                'Default current object should be empty')
        end
 
    end
 
end

Совет

  • Определение методов конструктора или деструктора в TestCase подкласс не рекомендуется. TestCase методы конструктора и деструктора не считаются содержимым теста и не должны использоваться для выполнения квалификаций. Например, SampleTest класс определяет квалификации с помощью метода конструктора и Test способ. Однако квалификация в методе конструктора не приводит к провалу теста. Структура тестирования сообщает только об одном сбое теста в результате квалификации, выполненной в рамках testSize способ.

    classdef SampleTest < matlab.unittest.TestCase
        methods
            function testCase = SampleTest % Constructor method not recommended
                testCase.verifyEqual(1,2)  % Does not produce a test failure
            end
        end
    
        methods(Test)
           function testSize(testCase)
               testCase.verifySize([1 2 3; 4 5 6],[2 4]) % Produces a test failure
           end
        end
    end
    
Представлен в R2013a