This allows assertion failures and other errors that occcur after the async error to be routed to the correct spec/suite. Previously, Jasmine treated global errors and unhandled promise rejections just like exceptions thrown from a synchronous spec: it recorded the error as a spec failure and moved on. Now, global errors and uhandled rejections are recorded as failures but the current queueable fn will continue until it either signals completion or times out. Global errors and unhandled rejections are different from synchronous exceptions: it's common for the queueable fn that caused them to continue executing. Immediately moving on often meant that the queueable fn would produce expectation failures or other errors when a different spec or suite was running, thus causing those failures to be routed to the wrong place.
26 KiB
26 KiB