exponenta event banner

returnStoredValueWhen

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

Возвращать сохраненное значение при обращении к свойству

Синтаксис

returnStoredValueWhen(testcase,behavior)

Описание

returnStoredValueWhen(testcase,behavior) указывает, что макет возвращает сохраненное значение свойства при обращении к свойству. Если макет является строгим, а свойство является абстрактным свойством интерфейса макета, при обращении к свойству фреймворк вызывает сбой утверждения. Чтобы разрешить доступ к свойству в строгом макете, используйте returnStoredValueWhen способ.

Входные аргументы

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

Экземпляр тестового случая, указанный как matlab.mock.TestCase объект.

Поведение макета, указанного как matlab.mock.PropertyGetBehavior экземпляр. Создание экземпляра matlab.mock.PropertyGetBehavior, вызовите get для свойства объекта поведения.

Пример: get(behavior.MyMockedProperty)

Примеры

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

Создайте строгий макет. Все взаимодействия свойств по умолчанию вызывают исключения.

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

Позволить PropertyFoo для доступа вместо создания исключения.

testCase.returnStoredValueWhen(get(behavior.PropertyFoo));

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

Использование returnStoredValueWhen функционально эквивалентен использованию matlab.mock.actions.ReturnStoredValue действие с помощью when способ PropertyGetBehavior класс. Например, следующие кодовые блоки функционально эквивалентны.

% Using the returnStoredValueWhen method
testCase.returnStoredValueWhen(get(behavior.PropertyFoo));

% Using the ReturnStoredValue action with the when function
import matlab.mock.actions.ReturnStoredValue;
when(get(behavior.PropertyFoo),ReturnStoredValue);
Однако при использовании ReturnStoredValue действия. Например, можно задать другое последующее поведение для одного и того же взаимодействия с издевательским объектом.

Представлен в R2017a