Как проверить множественные ожидания с помощью 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;