assumeAccessed

Класс: matlab.mock.TestCase
Пакет: matlab.mock

Примите, что к свойству получили доступ

Описание

пример

assumeAccessed(testcase,behavior) принимает, что к свойству получили доступ.

пример

assumeAccessed(testcase,behavior,diagnostic) также сопоставляет диагностическую информацию в diagnostic с проверкой. В зависимости от настройки исполнителя тестов среда тестирования может отобразить диагностику когда передачи проверки или сбои. По умолчанию среда отображает диагностику только, когда проверка перестала работать. Можно заменить поведение по умолчанию путем настройки исполнителя тестов. Например, используйте DiagnosticsOutputPlugin экземпляр, чтобы отобразить и провальную и передающую диагностику события.

Входные параметры

развернуть все

Экземпляр теста в виде matlab.mock.TestCase объект.

Поведение макета в виде matlab.mock.PropertyBehavior экземпляр. Создать экземпляр matlab.mock.PropertyBehavior, получите доступ к свойству объекта поведения.

Пример: behavior.PropertyFoo

Диагностическая информация, чтобы отобразиться в виде массива строк, символьного массива, указателя на функцию или matlab.unittest.diagnostics.Diagnostic объект. Значения диагностики могут быть нескалярными. Для получения дополнительной информации см. Matlab.unittest.diagnostics.Diagnostic.

Пример: "My diagnostic message."

Пример: @ () datetime ('now')

Примеры

развернуть все

Создайте макет с неявным интерфейсом для интерактивного использования. Интерфейс включает PropertyFoo и PropertyBar свойства. Доступ к PropertyFoo путем хранения его значения.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedProperties', ...
    ["PropertyFoo","PropertyBar"]);
value = mock.PropertyFoo;

Примите тот PropertyFoo был получен доступ.

testCase.assumeAccessed(behavior.PropertyFoo);
An assumption was met.

Создайте макет с неявным интерфейсом для интерактивного использования. Интерфейс включает PropertyFoo и PropertyBar свойства. Доступ к PropertyFoo путем хранения его значения.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedProperties', ...
    ["PropertyFoo","PropertyBar"]);
value = mock.PropertyFoo;

Примите тот PropertyBar был получен доступ. Отобразите диагностическую информацию относительно отказа.

testCase.assumeAccessed(behavior.PropertyBar, ...
    'PropertyBar should have been accessed.');
An assumption was not met.
    ----------------
    Test Diagnostic:
    ----------------
    PropertyBar should have been accessed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    assumeAccessed failed.
    --> Property 'PropertyBar' was never accessed.
    
    Specified property access operation:
    PropertyGetBehavior
        <Mock>.PropertyBar
Assumption failed.

Советы

Используйте проверку типа "assumption", чтобы убедиться, что тестовая среда соответствует предварительным обязательным условиям, которые не приводят к ошибке тестирования. Нарушение условий приводит к фильтрации тестов, а среда тестирования помечает тесты как незавершенные.

  • Используйте проверку типа "verification" для создания и записи сбоев без выдачи исключения. Поскольку проверки не выдают исключения, все тесты выполняются до своего завершения, даже когда имеют место сбои в проверке. "Обычно проверки типа ""verification""являются основными для тестирования модуля, так как они обычно не требуют раннего выхода из теста.". Используйте другие типы проверки для выявления нарушений предварительных обязательных условий или неправильной настройки теста.

  • Используйте проверку типа "assertion", когда состояние отказа делает недействительным оставшуюся часть текущего теста, но не препятствует правильному выполнению последующих видов тестирования. Отказ в точке утверждения отмечает текущий метод тестирования, как отказавший и неполный.

  • Используйте проверку типа "fatal assertion", чтобы прервать сеанс тестирования после сбоя. Эти типы проверки применяются, когда характер отказа настолько принципиален, что нет смысла продолжать тестирование. Эти виды проверки также применяются, когда отключение без изменений не восстанавливает состояние MATLAB® правильно, и лучше прекратить тестирование и начать новый сеанс.

Альтернативы

Используя assumeAccessed метод функционально эквивалентен использованию matlab.mock.constraints.WasAccessed ограничение с assumeThat метод Assumable класс. Например, следующие блоки кода функционально эквивалентны.

% Using the assumeAccessed method
testCase.assumeAccessed(behavior.PropertyFoo);

% Using the WasAccessed constraint with assumeThat method
import matlab.mock.constraints.WasAccessed;
testCase.assumeThat(behavior.PropertyFoo,WasAccessed);
Однако существует больше функциональности, когда вы используете WasAccessed ограничение. Например, можно указать, что к свойству получили доступ определенное число времен.

Смотрите также

Введенный в R2017a