matlab.unittest.qualifications. Класс Assumable

Пакет: matlab.unittest.qualifications

Проверка, чтобы отфильтровать содержание теста

Описание

Класс 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Примите, что значение верно
assumeWarningПримите, что функция выдает заданное предупреждение
assumeWarningFreeПримите, что функция не выдает предупреждений

События

AssumptionFailed

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

AssumptionPassed

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

Примеры

свернуть все

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

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

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

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

Тест записи, чтобы Проверить Платформу. Все тесты в этом тесте должны работать на платформах UNIX® только. Функция TestPlatform использует метод assumeFalse, чтобы протестировать, если MATLAB работает на платформе Windows®. Если это, тестовые сбои.

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

Сделайте TestPlatform Тестом 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