Başlıktan anlaşılacağı gibi, bir yöntemin bir sürümünün çağrıldığını ve aşırı yüklenmiş sürümün olmadığını doğrulamak için bir sınama yazmaya çalışıyorum. Delphi-Mocks parametre eşleştirmesinde indekslemeyi kullandığı için, bir başarısızlık görüyorum ve aslında aşırı yüklendiğinde fonksiyonun çağrıldığını görüyorum.Delphi Mocks - Aşırı yüklenmiş bir yöntemin hiçbir zaman hiçbir zaman çağrılmadığını doğrulayın
Örnek Test Arayüzü
TFoo = class(TObject)
public
function Bar(const a, b, c: string) : string; overload;virtual;
function Bar(const a: string) : string; overload;virtual;
end;
Örnek Test Kod
procedure TestClass.Test
var mock : TMock<TFoo>;
bar : TBar;
begin
mock := TMock<TFoo>.Create;
bar := TBar.Create(mock);
mock.Setup.Expect.Once.When.Bar('1','2','3');
mock.Setup.Expect.Never.When.Bar(It(0).IsAny<string>());
//Will Wind up down an if-branch calling either bar(1) or bar(3)
bar.Execute;
mock.VerifyAll;
end;
teşekkürler!
Kullandığım çözüm budur. Tam olarak eksik olduğum parça buydu. – mwilkinson