Wie Günter schon geschrieben hat. Ein TimeService ist immer hilfreich.
Man kann auch einen normalen Event nehmen ohne Spring und nutzt den WaifFor(TimeOut) davon, so
kann man zwei Fälle abdecken. 1.) Event is gekommen oder 2. TimeOut.
Ich gebe dann gerne eine Procedure mit, das sieht dann so aus:
Delphi-Quellcode:
var
WasCalled : boolean;
E : TEvent;
R : TWaitResult;
begin
WasCalled := false;
E := DoSomeTing(Procedure
begin
WasCalled := true;
end);
R := E.WaitFor(5000);
if R = wrSignaled
then Assert.IsTrue(WasCalled)
else Assert.Fail('TimeOut'); // or error
E.Free;
end;
Ich hoffe ich hab Dich richtig verstanden...