matlab.unittest.TestCase class

Пакет: matlab.unittest

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

Описание

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

Конструкция

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

Методы

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

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

The 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 класс задает проверки типа «qualification» с помощью метода конструктора и 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