matlab.unittest.qualifications.Assumable class

Пакет: 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