matlab.unittest.qualifications.Assumable class

Пакет: matlab.unittest.qualifications

Проверка для фильтрации содержания теста

Описание

The Assumable класс предоставляет проверку для фильтрации содержания теста. Помимо действий, выполненных в случае отказов, Assumable класс работает так же, как и другие matlab.unittest проверки.

При отказе предположения Assumable класс информирует среду тестирования о отказе путем выдачи AssumptionFailedException. Затем среда тестирования помечает содержание теста как отфильтрованную и продолжает тестирование. Часто допущения используются, чтобы убедиться, что тест запускается только при выполнении определенных предусловий. Однако выполнение теста без удовлетворения предусловий не приводит к непройденному тесту. Убедитесь, что содержание теста Устойчивости к исключениям. Если условие отказа предназначено для создания непройденного теста, используйте утверждения или верификации вместо допущений.

Атрибуты, заданные в TestCase определение метода определяет, какие тесты фильтруются. Следующее поведение происходит, когда среда тестирования сталкивается с отказом допущения внутри TestCase метод:

  • Если вы задаете TestCase метод с использованием Test атрибут, среда помечает весь метод как отфильтрованный и запускает последующие методы тестирования.

  • Если вы задаете TestCase метод с использованием TestMethodSetup или TestMethodTeardown атрибуты, среда тестирования помечает метод, который запускается для этого образца как отфильтрованный.

  • Если вы задаете TestCase метод с использованием TestClassSetup или TestClassTeardown атрибуты, среда тестирования фильтрует все TestCase класс.

Фильтрация содержания теста с помощью допущений не приводит к непройденным тестам. Поэтому может возникнуть мертвый тестовый код. Избегайте этого, отслеживая отфильтрованные тесты.

Методы

assumeClassПримите точный класс заданного значения
assumeEmptyПредположим, что значение пусто
assumeEqualПредположим, что значение равно заданному значению
assumeErrorПредположим, что функция выдает указанное исключение
assumeFailСоздание безусловного отказа при допущении
assumeFalseПредположим, что значение ложно
assumeGreaterThanПредположим, что значение больше заданного значения
assumeGreaterThanOrEqualПредположим, что значение больше или равно заданному значению
assumeInstanceOfПредположим, что значение является объектом заданного типа
assumeLengthПредположим, что значение имеет указанную длину
assumeLessThanПредположим, что значение меньше заданного значения
assumeLessThanOrEqualПредположим, что значение меньше или равно заданному значению
assumeMatchesПредположим, что строка соответствует заданному регулярному выражению
assumeNotEmptyПредположим, что значение не пустое
assumeNotEqualПредположим, что значение не равно заданному значению
assumeNotSameHandleПредположим, что значение не является указанным образцом,
assumeNumElementsПредположим, что значение имеет заданное количество элементов
assumeReturnsTrueПредположим, что функция возвращает true при оценке
assumeSameHandleПредположим, что два значения являются указателями на один и тот же образец
assumeSizeПредположим, что значение имеет заданный размер
assumeSubstringСтрока предположения содержит указанную строку
assumeThatПредположим, что значение соответствует заданному ограничению
assumeTrueПредположим, что значение true
assumeWarningПредположим, что функция выдает указанные предупреждения
assumeWarningFreeПредположим, что функция не выдает предупреждений

События

AssumptionFailed

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

AssumptionPassed

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

Копировать семантику

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Допущения гарантируют, что тест запускается только тогда, когда выполняются определенные предусловия и когда такое событие не должно привести к непройденному тесту. Когда происходит отказ допущения, тест помечается как отфильтрованный.

Создание IsSupportedTest тест. См. следующую IsSupportedTest тест на последующих шагах в этом примере, которые подсвечивают конкретные функции в файле.

 Файл определения класса IsSupportedTest

Выполнение MATLAB® команды в этом примере добавить IsSupportedTest.m файл в папку по пути MATLAB.

Напишите тест для проверки платформы. Все тесты в этом тестовом примере должны выполняться в UNIX® только платформы. The TestPlatform функция использует assumeFalse метод для проверки, работает ли MATLAB в Windows® платформы. Если это так, тест прекращает работать.

function TestPlatform(testcase)
    testcase.assumeFalse(ispc,...
        'Do not run any of these tests on Windows.')
end

Делайте TestPlatform a TestClassSetup Испытание. Сделать TestPlatform протестируйте предусловие, добавьте его внутрь methods (TestClassSetup) блок.

Запустите тест. Создайте объект тестового примера и запустите тесты на платформе Windows.

tc = IsSupportedTest;
res = tc.run;
Running IsSupportedTest

================================================================================
All tests in IsSupportedTest were filtered.
    Test Diagnostic: Do not run any of these tests on Windows.
    Details
================================================================================

Done IsSupportedTest
__________

Failure Summary:

     Name                   Failed  Incomplete  Reason(s)
    ====================================================================
     IsSupportedTest/test1              X       Filtered by assumption.

Тест (ы) фильтровали и не запускали (отмечали Incomplete).

Для получения дополнительной информации щелкните ссылку Подробно.

================================================================================
An assumption was not met while setting up or tearing down IsSupportedTest.
As a result, all IsSupportedTest tests were filtered.

    ----------------
    Test Diagnostic:
    ----------------
    Do not run any of these tests on Windows.

    ---------------------
    Framework Diagnostic:
    ---------------------
    assumeFalse failed.
    --> The value must evaluate to "false".
    
    Actual Value:
             1

    ------------------
    Stack Information:
    ------------------
    In C:\work\IsSupportedTest.m (IsSupportedTest.TestPlatform) at 4
================================================================================

Ссылка на IsSupportedTest.TestPlatform под Stack Information приводит вас к неудачному assumeFalse способ.

Подробнее о

расширить все

Введенный в R2013a