Indem man den Timer bzw. die Zeitmessung von außen übergibt und ihn das nicht selbst erstellen lässt.
Bei allem was mit "Zeit" zu tun hat fühlte es sich (zumindest für mich) anfangs etwas komisch an, aber mein Leben wurde danach so viel einfacher. Die paar Zeilen sich einen
ITimer
oder
IDateTimeProvider
zu schreiben war es echt wert. Und die
Unit-Tests mussten nicht mehr echte Millisekunden warten sondern waren auch viel schneller fertig 😉
PS: Wenn es nur um das "Tick"-Event an sich geht dann bietet sich es sich auch an, von außen einfach ein Event (z.B. IEvent<T> aus Spring4D) zu setzen und das Event halt passend in deinem
Unit-Test auszulösen.