如何使用 Delphi Mocks 验证多个模拟期望?

How to verify multiple mock expectations with Delphi Mocks?

mock.verify 和 mock.verifyAll in Delphi Mocks 有什么区别?它是否也验证其他模拟的期望? 我想验证我为当前单元测试创​​建的所有模拟的所有期望。

您可以告诉模拟接口它也可以模拟其他接口。如果通过 Supports 询问您模拟的接口以获取另一个接口,这将很有用。

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;