matlab.unittest.TestCase class

Пакет: matlab.unittest

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

Описание

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

Конструкция

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

Методы

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

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

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

matlab.unittest.qualifications.AssertableПроверка, чтобы подтвердить предусловия теста
matlab.unittest.qualifications.AssumableПроверка, чтобы отфильтровать содержание теста
matlab.unittest.qualifications.FatalAssertableПроверка, чтобы прервать выполнение теста
matlab.unittest.qualifications.VerifiableПроверка, чтобы произвести мягкие условия отказа

Атрибуты

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

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

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

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

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

TestБлок Method, чтобы содержать методы тестирования.
TestMethodSetupБлок Method, чтобы содержать код настройки.
TestMethodTeardownБлок Method, чтобы содержать код отключения.
TestClassSetupБлок Method, чтобы содержать уровень класса устанавливает код.
TestClassTeardownБлок Method, чтобы содержать код отключения уровня класса.
ParameterCombination

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

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

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

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

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

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

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

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

События

VerificationFailed

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

VerificationPassed

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

AssertionFailed

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

AssertionPassed

Инициированный на передающее утверждение. QualificationEventData объект передается функциям обратного вызова прослушивателя.

FatalAssertionFailed

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

FatalAssertionPassed

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

AssumptionFailed

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

AssumptionPassed

Инициированный на передающее предположение. QualificationEventData объект передается функциям обратного вызова прослушивателя.

ExceptionThrown

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

DiagnosticLogged

Инициированный TestRunner на вызов log метод. 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