【发布时间】:2017-03-16 12:20:56
【问题描述】:
Delphi Mocks 中的 mock.verify 和 mock.verifyAll 有什么区别?它是否也验证了其他模拟的期望? 我想验证为当前单元测试创建的所有模拟的所有期望。
【问题讨论】:
标签: delphi verify delphi-mocks
Delphi Mocks 中的 mock.verify 和 mock.verifyAll 有什么区别?它是否也验证了其他模拟的期望? 我想验证为当前单元测试创建的所有模拟的所有期望。
【问题讨论】:
标签: delphi verify 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;
【讨论】: