Jasmine Tests für rxjs nutzenden Code - Tückisches Timing

In einem TypeScript Projekt auf node.js Basis setze ich rxjs ein, um Ereignisse zu versenden und zu empfangen. An mehreren Stellen im Code wird die debounce() Funktion von rxjs eingesetzt, um Gruppen schnell aufeinander folgender Ereignisse zusammenzufassen. Dies stellt das Erstellen von UnitTests mittels Jasmine vor erhöhte Anforderungen. rxjs verwendet intern einen Scheduler, der auf die in JavaScript integrierte Uhr zurückgreift. Es wird reger Gebrauch von der setTimeout() Funktion gemacht. Um nicht bei jedem Test auf das Ablaufen der Timeouts warten zu müssen, stellt Jasmine Funktionen zum Mocken der Uhr zur Verfügung. ...

31.07.2021 · 3 Minuten · 589 Wörter