Как проверить множественные ожидания с помощью Delphi Mocks?

В чем разница между mock.verify и mock.verifyAll в Delphi Mocks? Подтверждает ли это ожидания других издевательств? Я хочу проверить все ожидания всех моих макетов, созданных для текущего модульного теста.

1 ответ

Решение

Вы можете сказать макет интерфейса, что он также может издеваться над другими интерфейсами. Это полезно, если через интерфейс Поддержки запрашивается другой интерфейс.

Verify проверяет, соответствуют ли ожидания непосредственно издевательского типа VerifyAll также проверяет ожидания других интерфейсов.

пример

var
  foo: TMock<IFoo>;
begin
  foo := TMock<IFoo>.Create;
  foo.Implements<IBar>;
  foo.Setup.Expect.Once.When.DoThis;
  foo.Setup<IBar>.Expect.Once.When.DoThat;

  // pass mock to tested component which 
  // calls DoThis and Supports(IBar) and calls DoThat

  foo.Verify; // checks if DoThis was called once
  foo.VerifyAll; // also checks if DoThat on the mock as IBar was called.
end;
Другие вопросы по тегам