Сохранение возвращаемого значения ожидания

Я хочу использовать возвращаемое значение ожидания, чтобы добавить еще одно ожидание. У меня есть объект m_accountProcessor, который имеет интерфейс createAccount для создания новой учетной записи и возвращает объект Account. Я хочу сохранить этот объект и добавить его к еще одному ожиданию вызова функции кодирования. Как я могу сохранить значение?

       m_context.checking(new Expectations() {{

        one(m_accountProcessor).createAccount(CUSTOMER_DETAILS);
        //How can I save the return value of createAccount's Account object
         one(m_accountProcessor).encode(/*AccountObject*/);
       }}

person Sirish    schedule 04.04.2012    source источник


Ответы (1)


Не забывайте, вы не звоните обработчику реального счета, вы имитируете его поведение. Создайте объект учетной записи в тесте, вы можете вернуть его с помощью

will(returnValue(account));

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

Бонусные вопросы: почему вы получаете объект из процессора учетной записи, а затем передаете его обратно для кодирования?

person Steve Freeman    schedule 04.04.2012
comment
как я уже сказал, создайте объект учетной записи в тесте. который вы можете вернуть из ожидания createAccount, то вы можете проверить, что тот же самый объект передается вызову кодирования. и вы до сих пор не ответили на бонусный вопрос :) - person Steve Freeman; 13.04.2012
comment
Мне нужно хранить как идентификатор учетной записи, так и закодированный идентификатор в моей таблице, чтобы избежать вычисления закодированного идентификатора с интенсивным использованием процессора каждый раз, когда это требуется. - person Sirish; 15.04.2012
comment
тогда я, возможно, кодирование и создание учетной записи должны принадлежать разным объектам, поскольку они выполняют разные задачи? - person Steve Freeman; 22.04.2012